# pymor.reductors.spectral_factor¶

## Module Contents¶

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

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

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.