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

fom

The full-order PHLTIModel to reduce.

mu

Parameter values.

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.