Interface SVDDecomposition
-
- All Known Implementing Classes:
BidiagonalSVDbyMR3,GolubKahanSVD,SVD,SVDbyMR3,SymmetricSVD
public interface SVDDecompositionSVD 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 DiagonalMatrixD()Get the D matrix as in SVD decomposition.double[]getSingularValues()Get the normalized, hence positive, singular values.MatrixU()Get the U matrix as in SVD decomposition.MatrixUt()Get the transpose of U, i.e.,U().t().MatrixV()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
-
-