pymor.algorithms.svd_va
¶
Module for SVD method of operators represented by VectorArrays
.
Module Contents¶
- pymor.algorithms.svd_va.method_of_snapshots(A, product=None, modes=None, rtol=1e-07, atol=0.0, l2_err=0.0)[source]¶
SVD of a
VectorArray
using the method of snapshots.Viewing the
VectorArray
A
as aA.dim
xlen(A)
matrix, the return value of this method is 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.Warning
The left singular vectors may not be numerically orthonormal for ill-conditioned
A
.Parameters
- A
The
VectorArray
for which the SVD is to be computed.- product
Inner product
Operator
w.r.t. which the SVD is computed.- modes
If not
None
, at most the firstmodes
singular values and 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.
Returns
- U
VectorArray
of left singular vectors.- s
One-dimensional
NumPy array
of singular values.- Vh
NumPy array
of right singular vectors.
- pymor.algorithms.svd_va.qr_svd(A, product=None, modes=None, rtol=4e-08, atol=0.0, l2_err=0.0)[source]¶
SVD of a
VectorArray
using Gram-Schmidt orthogonalization.Viewing the
VectorArray
A
as aA.dim
xlen(A)
matrix, the return value of this method is 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.Parameters
- A
The
VectorArray
for which the SVD is to be computed.- product
Inner product
Operator
w.r.t. which the left singular vectors are computed.- modes
If not
None
, at most the firstmodes
singular values and 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.
Returns
- U
VectorArray
of left singular vectors.- s
One-dimensional
NumPy array
of singular values.- Vh
NumPy array
of right singular vectors.