public class SVD
extends java.lang.Object
For an m-by-n matrix A with m >= n
, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n
diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'. Note that this implementation requires m>=n
.
Otherwise, you'd better use the transpose of a matrix.
The singular values, sigma[k] = S[k][k]
, are ordered so that sigma[0] >= sigma[1] >= ... >= sigma[n-1]
.
Constructor and Description |
---|
SVD(DenseMatrix mat)
Construct the singular value decomposition Structure to access U, S and V.
|
Modifier and Type | Method and Description |
---|---|
double |
cond()
Two norm condition number
|
DenseMatrix |
getS()
Return the diagonal matrix of singular values
|
double[] |
getSingularValues()
Return the one-dimensional array of singular values
|
DenseMatrix |
getU()
Return the left singular vectors
|
DenseMatrix |
getV()
Return the right singular vectors
|
double |
norm2()
Two norm
|
int |
rank()
Effective numerical matrix rank
|
public SVD(DenseMatrix mat)
mat
- Rectangular matrixpublic DenseMatrix getU()
public DenseMatrix getV()
public double[] getSingularValues()
public DenseMatrix getS()
public double norm2()
public double cond()
public int rank()
Copyright © 2017. All Rights Reserved.