Interface SVDDecomposition
-
- All Known Implementing Classes:
BidiagonalSVDbyMR3
,GolubKahanSVD
,SVD
,SVDbyMR3
,SymmetricSVD
public interface SVDDecomposition
SVD decomposition decomposes a matrix A of dimension m x n, where m >= n, such that U' * A * V = D, or U * D * V' = A.- U is orthogonal and has the dimension m x n.
- D is diagonal and has the dimension n x n.
- V is orthogonal and has the dimension n x n.
- See Also:
- Wikipedia: Singular value decomposition
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DiagonalMatrix
D()
Get the D matrix as in SVD decomposition.double[]
getSingularValues()
Get the normalized, hence positive, singular values.Matrix
U()
Get the U matrix as in SVD decomposition.Matrix
Ut()
Get the transpose of U, i.e.,U().t()
.Matrix
V()
Get the V matrix as in SVD decomposition.
-
-
-
Method Detail
-
getSingularValues
double[] getSingularValues()
Get the normalized, hence positive, singular values. They may differ from the values in D if this computation turns off normalization.- Returns:
- the singular values
-
D
DiagonalMatrix D()
Get the D matrix as in SVD decomposition.- Returns:
- D
-
U
Matrix U()
Get the U matrix as in SVD decomposition.- Returns:
- U
-
Ut
Matrix Ut()
Get the transpose of U, i.e.,U().t()
.- Returns:
U().t()
-
V
Matrix V()
Get the V matrix as in SVD decomposition.- Returns:
- V
-
-