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:

Methods

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

reduce

Modal Truncation.

reconstruct(u)[source]

Reconstruct high-dimensional vector from reduced vector u.

reduce(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 biorthogonalized 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.