public class SingularValueDecomposition extends Object implements Destroyable
(l x k) matrix m.
This decomposition can be thought
as an extension of EigenDecomposition to rectangular matrices. The factorization we get is following:
m = u * s * v^{*}, where
u is a real or complex unitary matrix.s is a rectangular diagonal matrix with non-negative real numbers on diagonal
(these numbers are singular values of m).v is a real or complex unitary matrix.If m is real then u and v are also real.
See also: Wikipedia article on SVD.
Note: complex case is currently not supported.
| Constructor and Description |
|---|
SingularValueDecomposition(Matrix arg)
Singular value decomposition object.
|
| Modifier and Type | Method and Description |
|---|---|
double |
cond()
Gets the two norm condition number, which is
max(S) / min(S) . |
Matrix |
getS() |
double[] |
getSingularValues()
Gets the diagonal of
S, which is a one-dimensional array of
singular values. |
Matrix |
getU()
Gets the left singular vectors
U. |
Matrix |
getV()
Gets the right singular vectors
V. |
double |
norm2()
Gets the two norm, which is
max(S). |
int |
rank()
Gets effective numerical matrix rank.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdestroypublic SingularValueDecomposition(Matrix arg)
arg - A rectangular matrix.public double cond()
max(S) / min(S) .public Matrix getS()
public double[] getSingularValues()
S, which is a one-dimensional array of
singular values.S.public Matrix getU()
U.Upublic Matrix getV()
V.Vpublic double norm2()
max(S).public int rank()
Follow @ApacheIgnite
Ignite Fabric : ver. 2.6.0 Release Date : July 10 2018