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 SVDConvenience 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.booleanTrue 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)
-