pymor.reductors.mt

Module Contents

class pymor.reductors.mt.MTReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Modal Truncation reductor.

See Section 9.2 in [Ant05].

Parameters

fom

The full-order LTIModel to reduce.

mu

Parameter values.

Methods

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

reduce

Modal Truncation.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.

reduce(self, r=None, decomposition='samdp', projection='orth', symmetric=False, which='NR', method_options=None, allow_complex_rom=False)[source]

Modal Truncation.

Parameters

r

Order of the reduced model.

decomposition

Algorithm used for the decomposition:

  • 'eig': scipy.linalg.eig algorithm

  • 'samdp': find dominant poles using samdp algorithm

projection

Projection method used:

  • 'orth': projection matrices are orthogonalized with respect to the Euclidean inner product

  • 'biorth': projection matrices are biorthogolized with respect to the E product

symmetric

If True, assume A is symmetric and E is symmetric positive definite.

which

A string specifying which r eigenvalues and eigenvectors to compute. Possible values are:

  • 'SM': select eigenvalues with smallest magnitude (only for decomposition with eig)

  • 'LR': select eigenvalues with largest real part (only for decomposition with eig)

  • 'NR': select eigenvalues with largest norm(residual) / abs(Re(pole))

  • 'NS': select eigenvalues with largest norm(residual) / abs(pole)

  • 'NM': select eigenvalues with largest norm(residual)

method_options

Optional dict with more options for the samdp algorithm.

allow_complex_rom

If True, the reduced model is complex when the poles of the reduced model are not closed under complex conjugation.

Returns

rom

Reduced-order model.