@CodeReview(reviewer="Jonathan McClain", date="2006-05-17", changesNeeded=false, comments="Interface looks fine.") @PublicationReference(author="Wikipedia", title="Singular Value Decomposition", type=WebPage, year=2010, url="http://en.wikipedia.org/wiki/Singular_value_decomposition") public interface SingularValueDecomposition
Modifier and Type | Method and Description |
---|---|
double |
conditionNumber()
Returns the condition number of the underlying matrix, which is simply
the ratio of the largest to smallest singular value
|
int |
effectiveRank(double effectiveZero)
Returns the effective rank of the underlying matrix by counting the
number of singular values whose values are larger than effectiveZero
|
Matrix |
getS()
Gets the PSD diagonal matrix containing the sorted singular values
|
Matrix |
getU()
Gets the orthonormal matrix containing the left singular vectors of the
underlying matrix
|
Matrix |
getVtranspose()
Gets the transpose of the orthonormal matrix containing the right
singular vectors of the underlying matrix
|
double |
norm2()
Returns the associated 2-norm (spectral norm) of the underlying matrix,
which is simply the largest singular value
|
Matrix |
pseudoInverse()
Computes the Least Squares pseudoinverse of the underlying matrix
|
Matrix |
pseudoInverse(double effectiveZero)
Computes the Least Squares pseudoinverse of the underlying matrix,
while clipping the singular values at effectiveZero
|
int |
rank()
Returns the rank of the underlying matrix by calling this.effectiveRank
with an effectiveZero = 0.0
|
Matrix getU()
Matrix getS()
Matrix getVtranspose()
double norm2()
double conditionNumber()
int rank()
int effectiveRank(double effectiveZero)
effectiveZero
- threshold for considering a singular value to be zeroMatrix pseudoInverse()
Matrix pseudoInverse(double effectiveZero)
effectiveZero
- value below which to consider the singular values zero