Parallel Colt 0.7.2

cern.colt.matrix.tdouble.algo.decomposition Class DoubleSingularValueDecompositionDC

```java.lang.Object
cern.colt.matrix.tdouble.algo.decomposition.DoubleSingularValueDecompositionDC
```

`public class DoubleSingularValueDecompositionDCextends 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 LAPACK.

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

Constructor Summary
```DoubleSingularValueDecompositionDC(DoubleMatrix2D 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
` double` `cond()`
Returns the two norm condition number, which is max(S) / min(S).
` org.netlib.util.intW` `getInfo()`
Returns the output flag
` DoubleMatrix2D` `getS()`
Returns the diagonal matrix of singular values.
` double[]` `getSingularValues()`
Returns the diagonal of S, which is a one-dimensional array of singular values
` DoubleMatrix2D` `getU()`
Returns the left singular vectors U.
` DoubleMatrix2D` `getUt()`
Returns the transpose of the left singular vectors U.
` DoubleMatrix2D` `getV()`
Returns the right singular vectors V.
` DoubleMatrix2D` `getVt()`
Returns the transpose of the right singular vectors V.
` double` `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

DoubleSingularValueDecompositionDC

```public DoubleSingularValueDecompositionDC(DoubleMatrix2D 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` - if true then all matrices (U, S, V') are computed; otherwise only S is computed
`wantWholeUV` - if true then all m columns of U and all n rows of V' are computed; otherwise only the first min(m,n) columns of U and the first min(m,n) rows of V' are computed
Method Detail

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

getUt

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

Returns:
U'

getVt

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

Returns:
V'

getV

`public DoubleMatrix2D 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 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`

Parallel Colt 0.7.2