Class SingularValueDecomposition

  • All Implemented Interfaces:
    java.io.Serializable, RevisionHandler

    public class SingularValueDecomposition
    extends java.lang.Object
    implements java.io.Serializable, RevisionHandler
    Singular Value Decomposition.

    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'.

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

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

    Adapted from the JAMA package.

    Version:
    $Revision: 11815 $
    Author:
    The Mathworks and NIST, Fracpete (fracpete at waikato dot ac dot nz), eibe@cs.waikato.ac.nz
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double cond()
      Two norm condition number
      java.lang.String getRevision()
      Returns the revision string.
      Matrix getS()
      Return the diagonal matrix of singular values
      double[] getSingularValues()
      Return the one-dimensional array of singular values
      Matrix getU()
      Return the left singular vectors
      Matrix getV()
      Return the right singular vectors
      double norm2()
      Two norm
      int rank()
      Effective numerical matrix rank
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SingularValueDecomposition

        public SingularValueDecomposition​(Matrix Arg)
        Construct the singular value decomposition
        Parameters:
        Arg - Rectangular matrix
    • Method Detail

      • getU

        public Matrix getU()
        Return the left singular vectors
        Returns:
        U
      • getV

        public Matrix getV()
        Return the right singular vectors
        Returns:
        V
      • getSingularValues

        public double[] getSingularValues()
        Return the one-dimensional array of singular values
        Returns:
        diagonal of S.
      • getS

        public Matrix getS()
        Return the diagonal matrix of singular values
        Returns:
        S
      • norm2

        public double norm2()
        Two norm
        Returns:
        max(S)
      • cond

        public double cond()
        Two norm condition number
        Returns:
        max(S)/min(S)
      • rank

        public int rank()
        Effective numerical matrix rank
        Returns:
        Number of nonnegligible singular values.
      • getRevision

        public java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision