Package org.ejml.simple
Class SimpleSVD<T extends SimpleBase>
java.lang.Object
org.ejml.simple.SimpleSVD<T>
public class SimpleSVD<T extends SimpleBase>
extends java.lang.Object
Wrapper around SVD for simple matrix. See SingularValueDecomposition
for more details.
Tolerance for singular values is Math.max(mat.numRows,mat.numCols) * W.get(0,0) * UtilEjml.EPS; where W.get(0,0) is the largest singular value.
-
Constructor Summary
Constructors Constructor Description SimpleSVD(org.ejml.data.Matrix mat, boolean compact)
-
Method Summary
Modifier and Type Method Description double
getSingleValue(int index)
Returns the specified singular value.double[]
getSingularValues()
Returns an array of all the singular valuesorg.ejml.interfaces.decomposition.SingularValueDecomposition
getSVD()
Returns the underlying decomposition that this is a wrapper around.T
getU()
Returns the orthogonal 'U' matrix.T
getV()
Returns the orthogonal 'V' matrix.T
getW()
Returns a diagonal matrix with the singular values.int
nullity()
The nullity of the decomposed matrix.SimpleMatrix
nullSpace()
Computes the null space from an SVD.double
quality()
Computes the quality of the computed decomposition.int
rank()
Returns the rank of the decomposed matrix.
-
Constructor Details
-
SimpleSVD
public SimpleSVD(org.ejml.data.Matrix mat, boolean compact)
-
-
Method Details
-
getU
Returns the orthogonal 'U' matrix.
- Returns:
- An orthogonal m by m matrix.
-
getW
Returns a diagonal matrix with the singular values. The singular values are ordered from largest to smallest.- Returns:
- Diagonal matrix with singular values along the diagonal.
-
getV
Returns the orthogonal 'V' matrix.
- Returns:
- An orthogonal n by n matrix.
-
quality
public double quality()Computes the quality of the computed decomposition. A value close to or less than 1e-15 is considered to be within machine precision.
This function must be called before the original matrix has been modified or else it will produce meaningless results.
- Returns:
- Quality of the decomposition.
-
nullSpace
Computes the null space from an SVD. For more information seeSingularOps_DDRM.nullSpace(org.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>, org.ejml.data.DMatrixRMaj, double)
.- Returns:
- Null space vector.
-
getSingleValue
public double getSingleValue(int index)Returns the specified singular value.- Parameters:
index
- Which singular value is to be returned.- Returns:
- A singular value.
-
getSingularValues
public double[] getSingularValues()Returns an array of all the singular values -
rank
public int rank()Returns the rank of the decomposed matrix.- Returns:
- The matrix's rank
- See Also:
SingularOps_DDRM.rank(SingularValueDecomposition_F64, double)
-
nullity
public int nullity()The nullity of the decomposed matrix.- Returns:
- The matrix's nullity
- See Also:
SingularOps_DDRM.nullity(SingularValueDecomposition_F64, double)
-
getSVD
public org.ejml.interfaces.decomposition.SingularValueDecomposition getSVD()Returns the underlying decomposition that this is a wrapper around.- Returns:
- SingularValueDecomposition
-