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(projected_operators, error_estimator)[source]
abstract extend_basis(**kwargs)[source]
project_operators()[source]
project_operators_to_subbasis(dims)[source]
reconstruct(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(projected_operators, error_estimator)[source]
project_operators()[source]
project_operators_to_subbasis(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(projected_operators, error_estimator)[source]
abstract extend_basis(**kwargs)[source]
project_operators()[source]
project_operators_to_subbasis(dims)[source]
reconstruct(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()[source]
assemble_error_estimator_for_subbasis(dims)[source]
abstract build_rom(projected_operators, error_estimator)[source]
extend_basis(U, basis='RB', method='gram_schmidt', pod_modes=1, pod_orthonormalize=True, copy_U=True)[source]
abstract project_operators()[source]
abstract project_operators_to_subbasis(dims)[source]
reconstruct(u, basis='RB')[source]

Reconstruct high-dimensional vector from reduced vector u.

reduce(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(projected_operators, error_estimator)[source]
abstract extend_basis(**kwargs)[source]
project_operators()[source]
project_operators_to_subbasis(dims)[source]
reconstruct(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(projected_operators, error_estimator)[source]
project_operators()[source]
project_operators_to_subbasis(dims)[source]
pymor.reductors.basic.extend_basis(U, basis, product=None, method='gram_schmidt', pod_modes=1, pod_orthonormalize=True, copy_U=True)[source]