pymor.reductors.interpolation

Module Contents

Classes

GenericBHIReductor

Generic bitangential Hermite interpolation reductor.

LTIBHIReductor

Bitangential Hermite interpolation for LTIModels.

SOBHIReductor

Bitangential Hermite interpolation for SecondOrderModels.

DelayBHIReductor

Bitangential Hermite interpolation for LinearDelayModels.

TFBHIReductor

Loewner bitangential Hermite interpolation reductor.

class pymor.reductors.interpolation.GenericBHIReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Generic bitangential Hermite interpolation reductor.

This is a generic reductor for reducing any linear Model that has a transfer function that is a FactorizedTransferFunction (see [BG09]). The interpolation here is limited to only up to the first derivative. Interpolation points are assumed to be pairwise distinct.

In particular, given:

  • interpolation points \(\sigma_i\),

  • right tangential directions \(b_i\), and

  • left tangential directions \(c_i\),

for \(i = 1, 2, \ldots, r\), which are closed under conjugation (if \(\sigma_i\) is real, then so are \(b_i\) and \(c_i\); if \(\sigma_i\) is complex, there is \(\sigma_j\) such that \(\sigma_j = \overline{\sigma_i}\), \(b_j = \overline{b_i}\), \(c_j = \overline{c_i}\)), this reductor finds a transfer function \(\hat{H}\) such that

\[\begin{split}H(\sigma_i) b_i & = \hat{H}(\sigma_i) b_i, \\ c_i^T H(\sigma_i) & = c_i^T \hat{H}(\sigma_i), \\ c_i^T H'(\sigma_i) b_i & = c_i^T \hat{H}'(\sigma_i) b_i,\end{split}\]

for all \(i = 1, 2, \ldots, r\).

Parameters

fom

The full-order Model to reduce.

mu

Parameter values.

_PGReductor[source]
_B_apply(self, s, V)[source]
_C_apply_adjoint(self, s, V)[source]
_K_apply_inverse(self, s, V)[source]
_K_apply_inverse_adjoint(self, s, V)[source]
abstract _fom_assemble(self)[source]
reduce(self, sigma, b, c, projection='orth')[source]

Bitangential Hermite interpolation.

Parameters

sigma

Interpolation points (closed under conjugation), sequence of length r.

b

Right tangential directions, NumPy array of shape (r, fom.dim_input).

c

Left tangential directions, NumPy array of shape (r, fom.dim_output).

projection

Projection method:

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

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

Returns

rom

Reduced-order model.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.interpolation.LTIBHIReductor(fom, mu=None)[source]

Bases: GenericBHIReductor

Bitangential Hermite interpolation for LTIModels.

Parameters

fom

The full-order LTIModel to reduce.

mu

Parameter values.

_PGReductor[source]
_fom_assemble(self)[source]
reduce(self, sigma, b, c, projection='orth')[source]

Bitangential Hermite interpolation.

Parameters

sigma

Interpolation points (closed under conjugation), sequence of length r.

b

Right tangential directions, NumPy array of shape (r, fom.dim_input).

c

Left tangential directions, NumPy array of shape (r, fom.dim_output).

projection

Projection method:

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

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

  • 'arnoldi': projection matrices are orthogonalized using the rational Arnoldi process (available only for SISO systems).

Returns

rom

Reduced-order model.

class pymor.reductors.interpolation.SOBHIReductor(fom, mu=None)[source]

Bases: GenericBHIReductor

Bitangential Hermite interpolation for SecondOrderModels.

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

_PGReductor[source]
_fom_assemble(self)[source]
class pymor.reductors.interpolation.DelayBHIReductor(fom, mu=None)[source]

Bases: GenericBHIReductor

Bitangential Hermite interpolation for LinearDelayModels.

Parameters

fom

The full-order LinearDelayModel to reduce.

mu

Parameter values.

_PGReductor[source]
_fom_assemble(self)[source]
class pymor.reductors.interpolation.TFBHIReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Loewner bitangential Hermite interpolation reductor.

See [BG12].

Parameters

fom

TransferFunction or Model with a transfer_function attribute.

mu

Parameter values.

reduce(self, sigma, b, c)[source]

Realization-independent tangential Hermite interpolation.

Parameters

sigma

Interpolation points (closed under conjugation), sequence of length r.

b

Right tangential directions, NumPy array of shape (r, fom.dim_input).

c

Left tangential directions, NumPy array of shape (r, fom.dim_output).

Returns

lti

The reduced-order LTIModel interpolating the transfer function of fom.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.