## org.biojava.bio.structure.jama
Class SingularValueDecomposition

    java.lang.Object
      org.biojava.bio.structure.jama.SingularValueDecomposition

All Implemented Interfaces:
  Serializable

    public class SingularValueDecomposition

extends Object
implements Serializable

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.

See Also:
  Serialized Form

Constructor Summary
`SingularValueDecomposition(Matrix Arg)` Construct the singular value decomposition.

Method Summary
`double` `cond()` Two norm condition number
`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
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SingularValueDecomposition

    public SingularValueDecomposition(Matrix Arg)

  Construct the singular value decomposition. Provides a data structure to access U, S and V.

  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.