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 aA.dim
xlen(A)
matrix, the return values of this method are theVectorArray
of left singular vectors and aNumPy array
of singular values of the singular value decomposition ofA
, where the inner product on R^(dim(A)
) is given byproduct
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 ofA
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 firstmodes
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
isTrue
, aNumPy array
of right singular vectors as conjugated rows.