pymor.reductors.basic

Module Contents

class pymor.reductors.basic.DelayLTIPGReductor(fom, W, V, E_biorthonormal=False)[source]

Bases: ProjectionBasedReductor

Petrov-Galerkin projection of an LinearDelayModel.

Parameters

fom

The full order Model to reduce.

W

The basis of the test space.

V

The basis of the ansatz space.

E_biorthonormal

If True, no E matrix will be assembled for the reduced Model. Set to True if W and V are biorthonormal w.r.t. fom.E.

Methods

build_rom

extend_basis

project_operators

project_operators_to_subbasis

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

build_rom(self, projected_operators, error_estimator)[source]
abstract extend_basis(self, **kwargs)[source]
project_operators(self)[source]
project_operators_to_subbasis(self, dims)[source]
reconstruct(self, u, basis='V')[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.basic.InstationaryRBReductor(fom, RB=None, product=None, initial_data_product=None, product_is_mass=False, check_orthonormality=None, check_tol=None)[source]

Bases: ProjectionBasedReductor

Galerkin projection of an InstationaryModel.

Parameters

fom

The full order Model to reduce.

RB

The basis of the reduced space onto which to project. If None an empty basis is used.

product

Inner product Operator w.r.t. which RB is orthonormalized. If None, the the Euclidean inner product is used.

initial_data_product

Inner product Operator w.r.t. which the initial_data of fom is orthogonally projected. If None, the Euclidean inner product is used.

product_is_mass

If True, no mass matrix for the reduced Model is assembled. Set to True if RB is orthonormal w.r.t. the mass matrix of fom.

check_orthonormality

See ProjectionBasedReductor.

check_tol

See ProjectionBasedReductor.

build_rom(self, projected_operators, error_estimator)[source]
project_operators(self)[source]
project_operators_to_subbasis(self, dims)[source]
class pymor.reductors.basic.LTIPGReductor(fom, W, V, E_biorthonormal=False)[source]

Bases: ProjectionBasedReductor

Petrov-Galerkin projection of an LTIModel.

Parameters

fom

The full order Model to reduce.

W

The basis of the test space.

V

The basis of the ansatz space.

E_biorthonormal

If True, no E matrix will be assembled for the reduced Model. Set to True if W and V are biorthonormal w.r.t. fom.E.

Methods

build_rom

extend_basis

project_operators

project_operators_to_subbasis

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

build_rom(self, projected_operators, error_estimator)[source]
abstract extend_basis(self, **kwargs)[source]
project_operators(self)[source]
project_operators_to_subbasis(self, dims)[source]
reconstruct(self, u, basis='V')[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.basic.ProjectionBasedReductor(fom, bases, products={}, check_orthonormality=True, check_tol=0.001)[source]

Bases: pymor.core.base.BasicObject

Generic projection based reductor.

Parameters

fom

The full order Model to reduce.

bases

A dict of VectorArrays of basis vectors.

products

A dict of inner product Operators w.r.t. which the corresponding bases are orthonormalized. A value of None corresponds to orthonormalization of the basis w.r.t. the Euclidean inner product.

check_orthonormality

If True, check if bases which have a corresponding entry in the products dict are orthonormal w.r.t. the given inner product. After each basis extension, orthonormality is checked again.

check_tol

If check_orthonormality is True, the numerical tolerance with which the checks are performed.

assemble_error_estimator(self)[source]
assemble_error_estimator_for_subbasis(self, dims)[source]
abstract build_rom(self, projected_operators, error_estimator)[source]
extend_basis(self, U, basis='RB', method='gram_schmidt', pod_modes=1, pod_orthonormalize=True, copy_U=True)[source]
abstract project_operators(self)[source]
abstract project_operators_to_subbasis(self, dims)[source]
reconstruct(self, u, basis='RB')[source]

Reconstruct high-dimensional vector from reduced vector u.

reduce(self, dims=None)[source]
class pymor.reductors.basic.SOLTIPGReductor(fom, W, V, M_biorthonormal=False)[source]

Bases: ProjectionBasedReductor

Petrov-Galerkin projection of an SecondOrderModel.

Parameters

fom

The full order Model to reduce.

W

The basis of the test space.

V

The basis of the ansatz space.

E_biorthonormal

If True, no E matrix will be assembled for the reduced Model. Set to True if W and V are biorthonormal w.r.t. fom.E.

Methods

build_rom

extend_basis

project_operators

project_operators_to_subbasis

reconstruct

Reconstruct high-dimensional vector from reduced vector u.

build_rom(self, projected_operators, error_estimator)[source]
abstract extend_basis(self, **kwargs)[source]
project_operators(self)[source]
project_operators_to_subbasis(self, dims)[source]
reconstruct(self, u, basis='V')[source]

Reconstruct high-dimensional vector from reduced vector u.

class pymor.reductors.basic.StationaryRBReductor(fom, RB=None, product=None, check_orthonormality=None, check_tol=None)[source]

Bases: ProjectionBasedReductor

Galerkin projection of a StationaryModel.

Parameters

fom

The full order Model to reduce.

RB

The basis of the reduced space onto which to project. If None an empty basis is used.

product

Inner product Operator w.r.t. which RB is orthonormalized. If None, the Euclidean inner product is used.

check_orthonormality

See ProjectionBasedReductor.

check_tol

See ProjectionBasedReductor.

build_rom(self, projected_operators, error_estimator)[source]
project_operators(self)[source]
project_operators_to_subbasis(self, dims)[source]
pymor.reductors.basic.extend_basis(U, basis, product=None, method='gram_schmidt', pod_modes=1, pod_orthonormalize=True, copy_U=True)[source]