pymor.reductors.ph.ph_irka

Module Contents

class pymor.reductors.ph.ph_irka.PHIRKAReductor(fom, mu=None)[source]

Bases: pymor.reductors.h2.GenericIRKAReductor

PH-IRKA reductor.

Parameters:

Methods

reduce

Reduce using pH-IRKA.

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

Reduce using pH-IRKA.

See [GPBvdS12].

Parameters:
  • rom0_params

    Can be:

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

    • initial interpolation points (a 1D NumPy array),

    • dict with 'sigma', 'b', 'c' as keys mapping to initial interpolation points (a 1D NumPy array), right tangential directions (NumPy array of shape (len(sigma), fom.dim_input)), and left tangential directions (NumPy array of shape (len(sigma), fom.dim_input)),

    • 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.

  • projection

    Projection method:

    • 'orth': projection matrix V is orthogonalized with respect to the Euclidean inner product.

    • 'QTEorth': projection matrix V is orthogonalized with respect to the fom.Q.H @ fom.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.

Returns:

rom – Reduced-order PHLTIModel.