pymor.reductors.bt

Module Contents

class pymor.reductors.bt.BRBTReductor(fom, gamma=1, mu=None, solver_options=None)[source]

Bases: GenericBTReductor

Bounded Real (BR) Balanced Truncation reductor.

See [Ant05] (Section 7.5.3) and [OJ88].

Parameters

fom

The full-order LTIModel to reduce.

gamma

Upper bound for the \(\mathcal{H}_\infty\)-norm.

mu

Parameter values.

solver_options

The solver options to use to solve the positive Riccati equations.

Methods

error_bounds

Returns error bounds for all possible reduced orders.

error_bounds(self)[source]

Returns error bounds for all possible reduced orders.

class pymor.reductors.bt.BTReductor(fom, mu=None)[source]

Bases: GenericBTReductor

Standard (Lyapunov) Balanced Truncation reductor.

See Section 7.3 in [Ant05].

Parameters

fom

The full-order LTIModel to reduce.

mu

Parameter values.

Methods

error_bounds

Returns error bounds for all possible reduced orders.

error_bounds(self)[source]

Returns error bounds for all possible reduced orders.

class pymor.reductors.bt.FDBTReductor(fom, ast_pole_data=None, mu=None, solver_options=None)[source]

Bases: GenericBTReductor

Balanced Truncation reductor using frequency domain representation of Gramians.

See [ZSW99].

Parameters

fom

The full-order LTIModel to reduce.

ast_pole_data

Can be:

  • dictionary of parameters for eigs,

  • list of anti-stable eigenvalues (scalars),

  • tuple (lev, ew, rev) where ew contains the anti-stable eigenvalues and lev and rev are VectorArrays representing the eigenvectors.

  • None if anti-stable eigenvalues should be computed via dense methods.

mu

Parameter values.

Methods

error_bounds

L-infinity error bounds for reduced order models.

error_bounds(self)[source]

L-infinity error bounds for reduced order models.

class pymor.reductors.bt.GenericBTReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Generic Balanced Truncation reductor.

Parameters

fom

The full-order LTIModel to reduce.

mu

Parameter values.

Methods

error_bounds

Returns error bounds for all possible reduced orders.

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

reduce

Generic Balanced Truncation.

abstract error_bounds(self)[source]

Returns error bounds for all possible reduced orders.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.

reduce(self, r=None, tol=None, projection='bfsr')[source]

Generic Balanced Truncation.

Parameters

r

Order of the reduced model if tol is None, maximum order if tol is specified.

tol

Tolerance for the error bound if r is None.

projection

Projection method used:

  • 'sr': square root method

  • 'bfsr': balancing-free square root method (default, since it avoids scaling by singular values and orthogonalizes the projection matrices, which might make it more accurate than the square root method)

  • 'biorth': like the balancing-free square root method, except it biorthogonalizes the projection matrices (using gram_schmidt_biorth)

Returns

rom

Reduced-order model.

class pymor.reductors.bt.LQGBTReductor(fom, mu=None, solver_options=None)[source]

Bases: GenericBTReductor

Linear Quadratic Gaussian (LQG) Balanced Truncation reductor.

See Section 3 in [MG91].

Parameters

fom

The full-order LTIModel to reduce.

mu

Parameter values.

solver_options

The solver options to use to solve the Riccati equations.

Methods

error_bounds

Returns error bounds for all possible reduced orders.

error_bounds(self)[source]

Returns error bounds for all possible reduced orders.