Class SimpleSVD<T extends SimpleBase>

java.lang.Object
org.ejml.simple.SimpleSVD<T>

public class SimpleSVD<T extends SimpleBase> extends Object

Wrapper around SVD for simple matrix. See SingularValueDecomposition for more details.

SVD is defined as the following decomposition:
A = U * W * V T
where A is m by n, and U and V are orthogonal matrices, and W is a diagonal matrix

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 Details

    • SimpleSVD

      public SimpleSVD(Matrix mat, boolean compact)
  • Method Details

    • getU

      public T getU()

      Returns the orthogonal 'U' matrix.

      Returns:
      An orthogonal m by m matrix.
    • getW

      public T 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

      public T 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

      public SimpleMatrix nullSpace()
      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:
    • nullity

      public int nullity()
      The nullity of the decomposed matrix.
      Returns:
      The matrix's nullity
      See Also:
    • getSVD

      public SingularValueDecomposition getSVD()
      Returns the underlying decomposition that this is a wrapper around.
      Returns:
      SingularValueDecomposition