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
VectorArrayAas aA.dimxlen(A)matrix, the return values of this method are theVectorArrayof left singular vectors and aNumPy arrayof singular values of the singular value decomposition ofA, where the inner product on R^(dim(A)) is given byproductand 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 ofAw.r.t. the left singular vectors and singular values, are returned.- Parameters:
A – The
VectorArrayfor which the POD is to be computed.product – Inner product
Operatorw.r.t. which the POD is computed.modes – If not
None, at most the firstmodesPOD 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_ndenotes the n-th singular value.method – Which SVD method from
svd_vato 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 –
VectorArrayof POD modes.SVALS – One-dimensional
NumPy arrayof singular values.COEFFS – If
return_reduced_coefficientsisTrue, aNumPy arrayof right singular vectors as conjugated rows.