pymor.reductors.spectral_factor

Module Contents

class pymor.reductors.spectral_factor.SpectralFactorReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Passivity preserving model reduction via spectral factorization.

See [BU22] (Algorithm 4).

Note

The reductor uses dense computations and converts the full-order model to dense matrices.

Parameters

fom

The passive full-order LTIModel to reduce. The full-order model must be minimal and asymptotically stable.

mu

Parameter values.

Methods

reduce

Reduce system by reducing its spectral factor.

reduce(r_fn, X=None, compute_errors=False, check_stability=True)[source]

Reduce system by reducing its spectral factor.

Parameters

r_fn

A callable which takes two arguments

and returns a reduced-order LTIModel for the supplied spectral factor.

For example, a possible choice to obtain a reduced-order model of order 10 is:

lambda spectral_factor, mu: IRKAReductor(spectral_factor, mu).reduce(10)

or:

lambda spectral_factor, mu: BTReductor(spectral_factor, mu).reduce(10)

The method should preserve asymptotic stability.

X

A solution to the KYP inequality

\[\begin{split}\begin{bmatrix} -A^T X - X A & C^T - X B \\ C - B^T X & D + D^T \end{bmatrix} \succcurlyeq 0.\end{split}\]

as a NumPy array, which in turn is used for computation of the spectral factor.

If None, it is assumed that \(D + D^T\) is nonsingular, where \(D\) is the feed-through matrix of the full-order model. A minimal solution to the KYP inequality is then obtained internally by computing the minimal solution of the Riccati equation

\[A^T X E + E^T X A + (C^T - E^T X B) (D + D^T)^{-1} (C - B^T X E) = 0.\]

In the case that \(D+D^T\) is singular, one can add a small perturbation, see [BU22] (Section 2.2.2).

compute_errors

If True, the relative \(\mathcal{H}_2\) error of the reduced spectral factor is computed.

check_stability

If True, the stability of the reduced spectral factor is checked. The stability is required to guarantee a positive definite solution to the Lyapunov equation in [BU22] in equation (21).

Returns

rom

Reduced passive LTIModel model.