Package no.uib.cipr.matrix
Class SVD
java.lang.Object
no.uib.cipr.matrix.SVD
Computes singular value decompositions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionComputes an SVDstatic SVD
Convenience method for computing a full SVDdouble[]
getS()
Returns the singular values (stored in descending order)getU()
Returns the left singular vectors, column-wise.getVt()
Returns the right singular vectors, row-wise.boolean
True if singular vectors are stored
-
Constructor Details
-
SVD
public SVD(int m, int n) Creates an empty SVD which will compute all singular values and vectors- Parameters:
m
- Number of rowsn
- Number of columns
-
SVD
public SVD(int m, int n, boolean vectors) Creates an empty SVD- Parameters:
m
- Number of rowsn
- Number of columnsvectors
- True to compute the singular vectors, false for just the singular values
-
-
Method Details
-
factorize
Convenience method for computing a full SVD- Parameters:
A
- Matrix to decompose, not modified- Returns:
- Newly allocated factorization
- Throws:
NotConvergedException
-
factor
Computes an SVD- Parameters:
A
- Matrix to decompose. Size must conform, and it will be overwritten on return. Pass a copy to avoid this- Returns:
- The current decomposition
- Throws:
NotConvergedException
-
hasSingularVectors
public boolean hasSingularVectors()True if singular vectors are stored -
getU
Returns the left singular vectors, column-wise. Not available for partial decompositions- Returns:
- Matrix of size m*m
-
getVt
Returns the right singular vectors, row-wise. Not available for partial decompositions- Returns:
- Matrix of size n*n
-
getS
public double[] getS()Returns the singular values (stored in descending order)- Returns:
- Array of size min(m,n)
-