Class SingularValueDecomposition

java.lang.Object
cern.colt.matrix.linalg.SingularValueDecomposition
All Implemented Interfaces:
Serializable

public class SingularValueDecomposition extends Object implements Serializable
For an m x n matrix A with m >= n, the singular value decomposition is an m x n orthogonal matrix U, an n x n diagonal matrix S, and an n x n orthogonal matrix V so that A = U*S*V'.

The singular values, sigma[k] = S[k][k], are ordered so that sigma[0] >= sigma[1] >= ... >= sigma[n-1].

The singular value decomposition always exists, so the constructor will never fail. The matrix condition number and the effective numerical rank can be computed from this decomposition.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Row and column dimensions.
    private int
    Row and column dimensions.
    private double[]
    Array for internal storage of singular values.
    (package private) static final long
     
    private double[][]
    Arrays for internal storage of U and V.
    private double[][]
    Arrays for internal storage of U and V.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs and returns a new singular value decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns the two norm condition number, which is max(S) / min(S).
    Returns the diagonal matrix of singular values.
    double[]
    Returns the diagonal of S, which is a one-dimensional array of singular values
    Returns the left singular vectors U.
    Returns the right singular vectors V.
    double
    Returns the two norm, which is max(S).
    int
    Returns the effective numerical matrix rank, which is the number of nonnegligible singular values.
    Returns a String with (propertyName, propertyValue) pairs.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • serialVersionUID

      static final long serialVersionUID
      See Also:
    • U

      private double[][] U
      Arrays for internal storage of U and V.
    • V

      private double[][] V
      Arrays for internal storage of U and V.
    • s

      private double[] s
      Array for internal storage of singular values.
    • m

      private int m
      Row and column dimensions.
    • n

      private int n
      Row and column dimensions.
  • Constructor Details

    • SingularValueDecomposition

      public SingularValueDecomposition(DoubleMatrix2D Arg)
      Constructs and returns a new singular value decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.
      Parameters:
      A - A rectangular matrix.
      Throws:
      IllegalArgumentException - if A.rows() invalid input: '<' A.columns().
  • Method Details

    • cond

      public double cond()
      Returns the two norm condition number, which is max(S) / min(S).
    • getS

      public DoubleMatrix2D getS()
      Returns the diagonal matrix of singular values.
      Returns:
      S
    • getSingularValues

      public double[] getSingularValues()
      Returns the diagonal of S, which is a one-dimensional array of singular values
      Returns:
      diagonal of S.
    • getU

      public DoubleMatrix2D getU()
      Returns the left singular vectors U.
      Returns:
      U
    • getV

      public DoubleMatrix2D getV()
      Returns the right singular vectors V.
      Returns:
      V
    • norm2

      public double norm2()
      Returns the two norm, which is max(S).
    • rank

      public int rank()
      Returns the effective numerical matrix rank, which is the number of nonnegligible singular values.
    • toString

      public String toString()
      Returns a String with (propertyName, propertyValue) pairs. Useful for debugging or to quickly get the rough picture. For example,
      rank          : 3
      trace         : 0
      
      Overrides:
      toString in class Object