cern.colt.matrix.linalg

## Class 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 >= sigma >= ... >= 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.

Serialized Form
• ### Constructor Summary

Constructors
Constructor and Description
`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.
• ### Method Summary

Methods
Modifier and Type Method and Description
`double` `cond()`
Returns the two norm condition number, which is max(S) / min(S).
`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` `getV()`
Returns 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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• ### Constructor Detail

• #### 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() < A.columns().
• ### 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
• #### 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`