pymor.algorithms.pod

Module Contents

pymor.algorithms.pod.pod(A, product=None, modes=None, rtol=1e-07, atol=0.0, l2_err=0.0, method='method_of_snapshots', orth_tol=1e-10, return_reduced_coefficients=False)[source]

Proper orthogonal decomposition of A.

Viewing the VectorArray A as a A.dim x len(A) matrix, the return values of this method are the VectorArray of left singular vectors and a NumPy array of singular values of the singular value decomposition of A, where the inner product on R^(dim(A)) is given by product and the inner product on R^(len(A)) is the Euclidean inner product. If desired, also the right singular vectors, which correspond to the reduced coefficients of A w.r.t. the left singular vectors and singular values, are returned.

Parameters

A

The VectorArray for which the POD is to be computed.

product

Inner product Operator w.r.t. which the POD is computed.

modes

If not None, at most the first modes POD modes (singular vectors) are returned.

rtol

Singular values smaller than this value multiplied by the largest singular value are ignored.

atol

Singular values smaller than this value are ignored.

l2_err

Do not return more modes than needed to bound the l2-approximation error by this value. I.e. the number of returned modes is at most

argmin_N { sum_{n=N+1}^{infty} s_n^2 <= l2_err^2 }

where s_n denotes the n-th singular value.

method

Which SVD method from svd_va to use ('method_of_snapshots' or 'qr_svd').

orth_tol

POD modes are reorthogonalized if the orthogonality error is above this value.

return_reduced_coefficients

Determines whether or not to also return the right singular vectors, which determine the reduced coefficients.

Returns

POD

VectorArray of POD modes.

SVALS

One-dimensional NumPy array of singular values.

COEFFS

If return_reduced_coefficients is True, a NumPy array of right singular vectors as conjugated rows.