public class SvdImplicitQrDecompose_Ultimate
extends java.lang.Object
implements org.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>
Similar to SvdImplicitQrDecompose_DDRM
but it employs the
ultimate shift strategy. Ultimate shift involves first computing singular values then uses those
to quickly compute the U and W matrices. For EVD this strategy seems to work very well, but for
this problem it needs to have little benefit and makes the code more complex.
Constructor and Description |
---|
SvdImplicitQrDecompose_Ultimate(boolean compact,
boolean computeU,
boolean computeV) |
Modifier and Type | Method and Description |
---|---|
boolean |
decompose(org.ejml.data.DMatrixRMaj orig) |
double[] |
getSingularValues() |
org.ejml.data.DMatrixRMaj |
getU(org.ejml.data.DMatrixRMaj U,
boolean transpose) |
org.ejml.data.DMatrixRMaj |
getV(org.ejml.data.DMatrixRMaj V,
boolean transpose) |
org.ejml.data.DMatrixRMaj |
getW(org.ejml.data.DMatrixRMaj W) |
boolean |
inputModified() |
boolean |
isCompact() |
int |
numberOfSingularValues() |
int |
numCols() |
int |
numRows() |
public SvdImplicitQrDecompose_Ultimate(boolean compact, boolean computeU, boolean computeV)
public double[] getSingularValues()
getSingularValues
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>
public int numberOfSingularValues()
numberOfSingularValues
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public boolean isCompact()
isCompact
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public org.ejml.data.DMatrixRMaj getU(org.ejml.data.DMatrixRMaj U, boolean transpose)
getU
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public org.ejml.data.DMatrixRMaj getV(org.ejml.data.DMatrixRMaj V, boolean transpose)
getV
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public org.ejml.data.DMatrixRMaj getW(org.ejml.data.DMatrixRMaj W)
getW
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public boolean decompose(org.ejml.data.DMatrixRMaj orig)
decompose
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
public boolean inputModified()
inputModified
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
public int numRows()
numRows
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
public int numCols()
numCols
in interface org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>