Contenido principal

SparseBalancedTruncationOptions

R2026b

Options for sparse model order reduction with balanced truncation method

Since R2023b

Description

This object contains model order reduction options of sparse linear time-invariant models, and is contained in the Options property of a SparseBalancedTruncation object R created using reducespec. To configure these options, use dot notation, for example, R.Options.MaxRank = 1500.

For the full workflow, see Task-Based Model Order Reduction Workflow.

Properties

expand all

Input weight for input scaling and frequency weighting, specified as a matrix or dynamic system model.

Set the InputWeight and OutputWeight properties to control the frequency-weighted error WL(GGr)WR, where G and Gr are the full-order and reduced-order models, respectively. WL (output weight) and WR (input weight) must be linear time-invariant models of compatible size and have high gain in frequency bands of interest and low gain elsewhere. Doing so emphasizes the accuracy of the reduced-order model in a particular frequency band.

This property is ignored when R.Options.Algorithm is "relative", which corresponds to WL = inv(G) and WR = [].

Output weight for output scaling and frequency weighting, specified as a matrix or a dynamic system model.

Set the InputWeight and OutputWeight properties to control the frequency-weighted error WL(GGr)WR, where G and Gr are the full-order and reduced-order models, respectively. WL (output weight) and WR (input weight) must be linear time-invariant models of compatible size and have high gain in frequency bands of interest and low gain elsewhere. Doing so emphasizes the accuracy of the reduced-order model in a particular frequency band.

This property is ignored when R.Options.Algorithm is "relative", which corresponds to WL = inv(G) and WR = [].

Options for initial condition matching, specified as:

  • [] — The model order reduction algorithm performs standard balanced truncation without initial-condition matching. This is the default behavior.

  • Matrix X0 — This option seeks to preserve the response to specific initial conditions. The reduced-order model approximates the response to initial conditions in the subspace spanned by X0 to the same degree of accuracy as the input/output response.

  • "auto" — This option seeks to approximate the response to most initial conditions as well as the I/O response. The algorithm automatically selects initial condition directions based on the dominant modes of the observability Gramian of the stable subsystem, using the energy threshold specified in the InitialConditionThreshold property. The selected basis is returned in the InitialCondition property of the processed BalancedTruncation object.

The initial-condition matching feature is supported only when the Algorithm property is set to "absolute". It is not available for time- or frequency-limited balanced truncation or balanced truncation with relative error control.

Threshold for the automatic selection of the initial-condition subspace, specified as a positive scalar no greater than one. When the InitialCondition property is set to "auto", the algorithm seeks to preserve the initial response (see initial) for the initial conditions that contribute most to the output energy:

0y(t)2=x0TXox0=Lox02

where y(t) is the free response to the initial condition x0 and Lo is a Cholesky factor of the observability Gramian Xo (see the Lo of BalancedTruncation).

An initial condition x0 is included when ||Lox0|| is greater or equal than InitialConditionThreshold*||Lo||. The selected directions therefore correspond to dominant singular values of Lo greater than InitialConditionThreshold*||Lo||.

Dynamic range of interest, specified as a vector of form [fmix,fmax]. Use this option if you know all poles are in this range.

Spectral offset, specified as a positive scalar.

Sparse balanced truncation is only supported for stable systems. For first-order models (sparss) with integral action, you can use this option to implicitly shift poles to enforce stability. The algorithm shifts poles as follows.

  • Continuous time — p to p-Offset

  • Discrete time — p to (1-Offset)p

This option is not supported for mechss models.

Rayleigh damping, specified as a vector of form [ωn,ζ].

Sparse balanced truncation is supported only for stable systems. To enforce stability for undamped second-order models (mechss), you can use this option to implicitly add Rayleigh damping with minimum damping ζ at the frequency ωn. For best results, pick ωn close to the dominant mode and ζ in the range [0.001,0.1].

For an example, see Add Rayleigh Damping to Enforce Stability for Sparse Balanced Truncation.

This option is not supported for sparss models.

Custom shifts to accelerate the convergence of the algorithm, specified as an n-by-1 vector.

Specify shifts based on prior knowledge of pole locations. The algorithm applies these shifts in addition to the default shifts. See [1] and [2] for details.

Maximum rank of Cholesky factors, specified as a positive integer. The algorithm terminates when the column size of the low-rank Gramian factors Lr and Lo reaches this limit.

Relative tolerance for Lyapunov residuals, specified as a positive scalar. Increasing LyapTol helps speed up computation at the expense of reduced-order model accuracy. Decrease this value to capture more Hankel singular values.

Relative tolerance for rank decisions, specified as a positive scalar. Increasing this value reduces the ranks of Lr and Lo and results in less accurate reduced-order models. Decreasing this value helps compute small Hankel singular values more accurately and obtain more accurate reduced-order models.

An accumulation of pole-zero cancellations near the stability boundary (common in DAEs discretized with Tustin transform) can introduce directions with large gain but low contribution in Lr or Lo. With the default RankTol value, this can result in a low-rank Lr (Lo) that only includes canceling directions, leading to poor approximations. If Lr has low rank and large norm compared to Lo (or Lo has low rank and large norm compared to Lr), try reducing RankTol to increase the rank and improve the quality of the reduced-order model.

Since R2026a

Use this option to enable or disable automatic scaling. Scaling can improve conditioning and accuracy of LR-ADI iterations by compressing the numerical range. This option uses equilibrate for scaling the sparse matrices.

Show or hide progress report, specified as either "off" or "on".

References

[1] Benner, Peter, Jing-Rebecca Li, and Thilo Penzl. “Numerical Solution of Large-Scale Lyapunov Equations, Riccati Equations, and Linear-Quadratic Optimal Control Problems.” Numerical Linear Algebra with Applications 15, no. 9 (November 2008): 755–77. https://doi.org/10.1002/nla.622.

[2] Benner, Peter, Martin Köhler, and Jens Saak. “Matrix Equations, Sparse Solvers: M-M.E.S.S.-2.0.1—Philosophy, Features, and Application for (Parametric) Model Order Reduction.” In Model Reduction of Complex Dynamical Systems, edited by Peter Benner, Tobias Breiten, Heike Faßbender, Michael Hinze, Tatjana Stykel, and Ralf Zimmermann, 171:369–92. Cham: Springer International Publishing, 2021. https://doi.org/10.1007/978-3-030-72983-7_18.

[3] Varga, A. “Balancing Free Square-Root Algorithm for Computing Singular Perturbation Approximations.” In [1991] Proceedings of the 30th IEEE Conference on Decision and Control, 1062–65. Brighton, UK: IEEE, 1991. https://doi.org/10.1109/CDC.1991.261486.

Version History

Introduced in R2023b