pymor.reductors.sobt

Module Contents

Classes

GenericSOBTpvReductor

Generic Second-Order Balanced Truncation position/velocity reductor.

SOBTpReductor

Second-Order Balanced Truncation position reductor.

SOBTvReductor

Second-Order Balanced Truncation velocity reductor.

SOBTpvReductor

Second-Order Balanced Truncation position-velocity reductor.

SOBTvpReductor

Second-Order Balanced Truncation velocity-position reductor.

SOBTfvReductor

Free-velocity Second-Order Balanced Truncation reductor.

SOBTReductor

Second-Order Balanced Truncation reductor.

class pymor.reductors.sobt.GenericSOBTpvReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Generic Second-Order Balanced Truncation position/velocity reductor.

See [RS08].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

abstract _gramians(self)[source]

Return Gramians.

abstract _projection_matrices_and_singular_values(self, r, gramians)[source]

Return projection matrices and singular values.

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

Reduce using GenericSOBTpv.

Parameters

r

Order of the reduced model.

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

Returns

rom

Reduced-order SecondOrderModel.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.sobt.SOBTpReductor(fom, mu=None)[source]

Bases: GenericSOBTpvReductor

Second-Order Balanced Truncation position reductor.

See [RS08].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

_gramians(self)[source]

Return Gramians.

_projection_matrices_and_singular_values(self, r, gramians)[source]

Return projection matrices and singular values.

class pymor.reductors.sobt.SOBTvReductor(fom, mu=None)[source]

Bases: GenericSOBTpvReductor

Second-Order Balanced Truncation velocity reductor.

See [RS08].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

_gramians(self)[source]

Return Gramians.

_projection_matrices_and_singular_values(self, r, gramians)[source]

Return projection matrices and singular values.

class pymor.reductors.sobt.SOBTpvReductor(fom, mu=None)[source]

Bases: GenericSOBTpvReductor

Second-Order Balanced Truncation position-velocity reductor.

See [RS08].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

_gramians(self)[source]

Return Gramians.

_projection_matrices_and_singular_values(self, r, gramians)[source]

Return projection matrices and singular values.

class pymor.reductors.sobt.SOBTvpReductor(fom, mu=None)[source]

Bases: GenericSOBTpvReductor

Second-Order Balanced Truncation velocity-position reductor.

See [RS08].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

_gramians(self)[source]

Return Gramians.

_projection_matrices_and_singular_values(self, r, gramians)[source]

Return projection matrices and singular values.

class pymor.reductors.sobt.SOBTfvReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Free-velocity Second-Order Balanced Truncation reductor.

See [MS96].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

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

Reduce using SOBTfv.

Parameters

r

Order of the reduced model.

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

Returns

rom

Reduced-order SecondOrderModel.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.sobt.SOBTReductor(fom, mu=None)[source]

Bases: pymor.core.base.BasicObject

Second-Order Balanced Truncation reductor.

See [CLVVD06].

Parameters

fom

The full-order SecondOrderModel to reduce.

mu

Parameter values.

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

Reduce using SOBT.

Parameters

r

Order of the reduced model.

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

Returns

rom

Reduced-order SecondOrderModel.

reconstruct(self, u)[source]

Reconstruct high-dimensional vector from reduced vector u.