Parallel Colt 0.7.2

cern.colt.matrix.tfloat.algo.decomposition
Class FloatSingularValueDecompositionDC

java.lang.Object
  extended by cern.colt.matrix.tfloat.algo.decomposition.FloatSingularValueDecompositionDC

public class FloatSingularValueDecompositionDC
extends Object

For an m x n matrix A, the singular value decomposition is an m x m orthogonal matrix U, an m 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[min(m-1,n-1)].

This implementation uses the divide-and-conquer algorithm (Dgesdd) from JLAPACK.

Author:
Piotr Wendykier (piotr.wendykier@gmail.com)

Constructor Summary
FloatSingularValueDecompositionDC(FloatMatrix2D Arg, boolean wantUV, boolean wantWholeUV)
          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
 float cond()
          Returns the two norm condition number, which is max(S) / min(S).
 org.netlib.util.intW getInfo()
          Returns the output flag
 FloatMatrix2D getS()
          Returns the diagonal matrix of singular values.
 float[] getSingularValues()
          Returns the diagonal of S, which is a one-dimensional array of singular values
 FloatMatrix2D getU()
          Returns the left singular vectors U.
 FloatMatrix2D getUt()
          Returns the transpose of the left singular vectors U.
 FloatMatrix2D getV()
          Returns the right singular vectors V.
 FloatMatrix2D getVt()
          Returns the transpose of the right singular vectors V.
 float norm2()
          Returns the two norm, which is max(S).
 int rank()
          Returns the effective numerical matrix rank, which is the number of nonnegligible singular values.
 String toString()
          Returns a String with (propertyName, propertyValue) pairs.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FloatSingularValueDecompositionDC

public FloatSingularValueDecompositionDC(FloatMatrix2D Arg,
                                         boolean wantUV,
                                         boolean wantWholeUV)
Constructs and returns a new singular value decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

Parameters:
Arg - rectangular matrix
wantUV -
true: all matrices (U, S, V') are computed
false: only S is computed
wantWholeUV -
true: all m columns of U and all n rows of V' are computed
false: the first min(m,n) columns of U and the first min(m,n) rows of V' are computed
Method Detail

cond

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


getS

public FloatMatrix2D getS()
Returns the diagonal matrix of singular values.

Returns:
S

getSingularValues

public float[] getSingularValues()
Returns the diagonal of S, which is a one-dimensional array of singular values

Returns:
diagonal of S.

getU

public FloatMatrix2D getU()
Returns the left singular vectors U.

Returns:
U

getUt

public FloatMatrix2D getUt()
Returns the transpose of the left singular vectors U.

Returns:
U'

getVt

public FloatMatrix2D getVt()
Returns the transpose of the right singular vectors V.

Returns:
V'

getV

public FloatMatrix2D getV()
Returns the right singular vectors V.

Returns:
V

getInfo

public org.netlib.util.intW getInfo()
Returns the output flag

Returns:
0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: process did not converge.

norm2

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

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage