|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface SingularValueDecomposition
An interface to classes that implement an algorithm to calculate the Singular Value Decomposition of a real matrix.
The Singular Value Decomposition of matrix A is a set of three matrices: U, Σ and V such that A = U × Σ × VT. Let A be an m × n matrix, then U is an m × m orthogonal matrix, Σ is a m × n diagonal matrix with positive diagonal elements, and V is an n × n orthogonal matrix.
This interface is similar to the class with similar name from the now defunct JAMA library, with the following changes:
norm2
method which has been renamed as getNorm
,cond
method which has been renamed as getConditionNumber
,rank
method which has been renamed as getRank
,getUT
method has been added,getVT
method has been added,getSolver
method has been added,getCovariance
method has been added.
Method Summary | |
---|---|
double |
getConditionNumber()
Return the condition number of the matrix. |
RealMatrix |
getCovariance(double minSingularValue)
Returns the n × n covariance matrix. |
double |
getNorm()
Returns the L2 norm of the matrix. |
int |
getRank()
Return the effective numerical matrix rank. |
RealMatrix |
getS()
Returns the diagonal matrix Σ of the decomposition. |
double[] |
getSingularValues()
Returns the diagonal elements of the matrix Σ of the decomposition. |
DecompositionSolver |
getSolver()
Get a solver for finding the A × X = B solution in least square sense. |
RealMatrix |
getU()
Returns the matrix U of the decomposition. |
RealMatrix |
getUT()
Returns the transpose of the matrix U of the decomposition. |
RealMatrix |
getV()
Returns the matrix V of the decomposition. |
RealMatrix |
getVT()
Returns the transpose of the matrix V of the decomposition. |
Method Detail |
---|
RealMatrix getU()
U is an orthogonal matrix, i.e. its transpose is also its inverse.
getUT()
RealMatrix getUT()
U is an orthogonal matrix, i.e. its transpose is also its inverse.
getU()
RealMatrix getS()
Σ is a diagonal matrix. The singular values are provided in non-increasing order, for compatibility with Jama.
double[] getSingularValues()
The singular values are provided in non-increasing order, for compatibility with Jama.
RealMatrix getV()
V is an orthogonal matrix, i.e. its transpose is also its inverse.
getVT()
RealMatrix getVT()
V is an orthogonal matrix, i.e. its transpose is also its inverse.
getV()
RealMatrix getCovariance(double minSingularValue) throws IllegalArgumentException
The covariance matrix is V × J × VT where J is the diagonal matrix of the inverse of the squares of the singular values.
minSingularValue
- value below which singular values are ignored
(a 0 or negative value implies all singular value will be used)
IllegalArgumentException
- if minSingularValue is larger than
the largest singular value, meaning all singular values are ignoreddouble getNorm()
The L2 norm is max(|A × u|2 / |u|2), where |.|2 denotes the vectorial 2-norm (i.e. the traditional euclidian norm).
double getConditionNumber()
int getRank()
The effective numerical rank is the number of non-negligible singular values. The threshold used to identify non-negligible terms is max(m,n) × ulp(s1) where ulp(s1) is the least significant bit of the largest singular value.
DecompositionSolver getSolver()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |