pymor.reductors.sor_irka

IRKA-type reductor for SecondOrderModels.

Module Contents

class pymor.reductors.sor_irka.SORIRKAReductor(fom, mu=None)[source]

Bases: pymor.reductors.h2.GenericIRKAReductor

SOR-IRKA reductor.

Parameters:

Methods

reduce

Reduce using SOR-IRKA.

reduce(rom0_params, tol=0.0001, maxit=100, num_prev=1, force_sigma_in_rhp=False, projection='orth', conv_crit='sigma', compute_errors=False, irka_options=None)[source]

Reduce using SOR-IRKA.

It uses IRKA as the intermediate reductor, to reduce from 2r to r poles. See Section 5.3.2 in [Wya12].

Parameters:
  • rom0_params

    Can be:

    • order of the reduced model (a positive integer),

    • dict with 'sigma', 'b', 'c' as keys mapping to initial interpolation points (a 1D NumPy array), right tangential directions (VectorArray from fom.D.source), and left tangential directions (VectorArray from fom.D.range), all of the same length (the order of the reduced model),

    • initial reduced-order model (LTIModel).

    If the order of reduced model is given, initial interpolation data is generated randomly.

  • tol – Tolerance for the convergence criterion.

  • maxit – Maximum number of iterations.

  • num_prev – Number of previous iterations to compare the current iteration to. Larger number can avoid occasional cyclic behavior of IRKA.

  • force_sigma_in_rhp – If False, new interpolation are reflections of the current reduced order model’s poles. Otherwise, only the poles in the left half-plane are reflected.

  • projection

    Projection method:

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

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

  • conv_crit

    Convergence criterion:

    • 'sigma': relative change in interpolation points

    • 'h2': relative \(\mathcal{H}_2\) distance of reduced-order models

  • compute_errors

    Should the relative \(\mathcal{H}_2\)-errors of intermediate reduced order models be computed.

    Warning

    Computing \(\mathcal{H}_2\)-errors is expensive. Use this option only if necessary.

  • irka_options – Dict of options for IRKAReductor.reduce.

Returns:

rom – Reduced-order SecondOrderModel.