Maven module :un.api : api-math :
Class : un.impl.math.malgebra.SingularValueDecomposition
Extends/Implements : -
Subclasses : -

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.

Origin : JAMA http://math.nist.gov/javanumerics/jama/ placed in public domain.



Variables : -
Functions : SingularValueDecomposition, getU, getV, getSingularValues, getS, norm2, cond, rank




Construct the singular value decomposition
param  Arg Rectangular matrix
Structure to access U, S and V.
public void SingularValueDecomposition (Matrix Arg)


Return the left singular vectors
return  U
public DefaultMatrix getU ()


Return the right singular vectors
return  V
public DefaultMatrix getV ()


Return the one-dimensional array of singular values
return  diagonal of S.
public double[] getSingularValues ()


Return the diagonal matrix of singular values
return  S
public DefaultMatrix getS ()


Two norm
return  max(S)
public double norm2 ()


Two norm condition number
return  max(S)/min(S)
public double cond ()


Effective numerical matrix rank
return  Number of nonnegligible singular values.
public int rank ()