Class SvdImplicitQrDecompose_UltimateS
- java.lang.Object
-
- org.ejml.dense.row.decomposition.svd.SvdImplicitQrDecompose_UltimateS
-
- All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>,org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>,org.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>
public class SvdImplicitQrDecompose_UltimateS extends java.lang.Object implements org.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>Similar to
NOTE: This code is much faster for 2x2 matrices since it computes the eigenvalues in one step.SvdImplicitQrDecompose_DDRMbut 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 Summary
Constructors Constructor Description SvdImplicitQrDecompose_UltimateS(boolean compact, boolean computeU, boolean computeV)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleandecompose(org.ejml.data.DMatrixRMaj orig)double[]getSingularValues()org.ejml.data.DMatrixRMajgetU(org.ejml.data.DMatrixRMaj U, boolean transpose)org.ejml.data.DMatrixRMajgetV(org.ejml.data.DMatrixRMaj V, boolean transpose)org.ejml.data.DMatrixRMajgetW(org.ejml.data.DMatrixRMaj W)booleaninputModified()booleanisCompact()intnumberOfSingularValues()intnumCols()intnumRows()
-
-
-
Method Detail
-
getSingularValues
public double[] getSingularValues()
- Specified by:
getSingularValuesin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition_F64<org.ejml.data.DMatrixRMaj>
-
numberOfSingularValues
public int numberOfSingularValues()
- Specified by:
numberOfSingularValuesin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
isCompact
public boolean isCompact()
- Specified by:
isCompactin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
getU
public org.ejml.data.DMatrixRMaj getU(org.ejml.data.DMatrixRMaj U, boolean transpose)- Specified by:
getUin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
getV
public org.ejml.data.DMatrixRMaj getV(org.ejml.data.DMatrixRMaj V, boolean transpose)- Specified by:
getVin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
getW
public org.ejml.data.DMatrixRMaj getW(org.ejml.data.DMatrixRMaj W)
- Specified by:
getWin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
decompose
public boolean decompose(org.ejml.data.DMatrixRMaj orig)
- Specified by:
decomposein interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
-
inputModified
public boolean inputModified()
- Specified by:
inputModifiedin interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
-
numRows
public int numRows()
- Specified by:
numRowsin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
numCols
public int numCols()
- Specified by:
numColsin interfaceorg.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DMatrixRMaj>
-
-