Class DecompositionFactory_MT_FDRM
Contains concurrent implementations of different decompositions.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRMaj>chol(boolean lower) Returns aCholeskyDecomposition_F32that isn't specialized for any specific matrix size.static org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRMaj>chol(int matrixSize, boolean lower) Returns aCholeskyDecomposition_F32that has been optimized for the specified matrix size.static <T extends org.ejml.data.FMatrix>
booleandecomposeSafe(org.ejml.interfaces.decomposition.DecompositionInterface<T> decomp, T M) A simple convenience function that decomposes the matrix but automatically checks the input to make sure it is not being modified.static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>eig(boolean needVectors) static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>eig(boolean computeVectors, boolean isSymmetric) static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>eig(int matrixSize, boolean needVectors) Returns anEigenDecompositionthat has been optimized for the specified matrix size.static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>eig(int matrixSize, boolean computeVectors, boolean isSymmetric) Returns anEigenDecompositionwhich is specialized for symmetric matrices or the general problem.static org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj>qr()static org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj>qr(int numRows, int numCols) Returns aQRDecompositionthat has been optimized for the specified matrix size.static org.ejml.interfaces.decomposition.SingularValueDecomposition_F32<org.ejml.data.FMatrixRMaj>svd(boolean needU, boolean needV, boolean compact) Returns aSingularValueDecompositionthat is NOT optimized for any specified matrix size.static org.ejml.interfaces.decomposition.SingularValueDecomposition_F32<org.ejml.data.FMatrixRMaj>svd(int numRows, int numCols, boolean needU, boolean needV, boolean compact) Returns aSingularValueDecompositionthat has been optimized for the specified matrix size.static org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj>tridiagonal(int matrixSize) Checks to see if the passed in tridiagonal decomposition is of the appropriate type for the matrix of the provided size.
-
Constructor Details
-
DecompositionFactory_MT_FDRM
public DecompositionFactory_MT_FDRM()
-
-
Method Details
-
chol
public static org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRMaj> chol(int matrixSize, boolean lower) Returns a
CholeskyDecomposition_F32that has been optimized for the specified matrix size.- Parameters:
matrixSize- Number of rows and columns that the returned decomposition is optimized for.lower- should a lower or upper triangular matrix be used. If not sure set to true.- Returns:
- A new CholeskyDecomposition.
-
chol
public static org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRMaj> chol(boolean lower) Returns aCholeskyDecomposition_F32that isn't specialized for any specific matrix size.- Parameters:
lower- should a lower or upper triangular matrix be used. If not sure set to true.- Returns:
- A new CholeskyDecomposition.
-
svd
public static org.ejml.interfaces.decomposition.SingularValueDecomposition_F32<org.ejml.data.FMatrixRMaj> svd(int numRows, int numCols, boolean needU, boolean needV, boolean compact) Returns a
SingularValueDecompositionthat has been optimized for the specified matrix size. For improved performance only the portion of the decomposition that the user requests will be computed.- Parameters:
numRows- Number of rows the returned decomposition is optimized for.numCols- Number of columns that the returned decomposition is optimized for.needU- Should it compute the U matrix. If not sure set to true.needV- Should it compute the V matrix. If not sure set to true.compact- Should it compute the SVD in compact form. If not sure set to false.- Returns:
- SVD
-
svd
public static org.ejml.interfaces.decomposition.SingularValueDecomposition_F32<org.ejml.data.FMatrixRMaj> svd(boolean needU, boolean needV, boolean compact) Returns aSingularValueDecompositionthat is NOT optimized for any specified matrix size.- Parameters:
needU- Should it compute the U matrix. If not sure set to true.needV- Should it compute the V matrix. If not sure set to true.compact- Should it compute the SVD in compact form. If not sure set to false.- Returns:
- SVD
-
qr
public static org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> qr(int numRows, int numCols) Returns a
QRDecompositionthat has been optimized for the specified matrix size.- Parameters:
numRows- Number of rows the returned decomposition is optimized for.numCols- Number of columns that the returned decomposition is optimized for.- Returns:
- QRDecomposition
-
qr
public static org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> qr() -
eig
public static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj> eig(int matrixSize, boolean needVectors) Returns an
EigenDecompositionthat has been optimized for the specified matrix size. If the input matrix is symmetric within tolerance then the symmetric algorithm will be used, otherwise a general purpose eigenvalue decomposition is used.- Parameters:
matrixSize- Number of rows and columns that the returned decomposition is optimized for.needVectors- Should eigenvectors be computed or not. If not sure set to true.- Returns:
- A new EigenDecomposition
-
eig
public static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj> eig(boolean needVectors) -
eig
public static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj> eig(int matrixSize, boolean computeVectors, boolean isSymmetric) Returns an
EigenDecompositionwhich is specialized for symmetric matrices or the general problem.- Parameters:
matrixSize- Number of rows and columns that the returned decomposition is optimized for.computeVectors- Should it compute the eigenvectors or just eigenvalues.isSymmetric- If true then the returned algorithm is specialized only for symmetric matrices, if false then a general purpose algorithm is returned.- Returns:
- EVD for any matrix.
-
eig
public static org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj> eig(boolean computeVectors, boolean isSymmetric) -
tridiagonal
public static org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj> tridiagonal(int matrixSize) Checks to see if the passed in tridiagonal decomposition is of the appropriate type for the matrix of the provided size. Returns the same instance or a new instance.- Parameters:
matrixSize- Number of rows and columns that the returned decomposition is optimized for.
-
decomposeSafe
public static <T extends org.ejml.data.FMatrix> boolean decomposeSafe(org.ejml.interfaces.decomposition.DecompositionInterface<T> decomp, T M) A simple convenience function that decomposes the matrix but automatically checks the input to make sure it is not being modified.- Type Parameters:
T- Matrix type.- Parameters:
decomp- Decomposition which is being wrappedM- The matrix being decomposed.- Returns:
- If the decomposition was successful or not.
-