Class CholeskyDecompositionBlock_FDRM
java.lang.Object
org.ejml.dense.row.decomposition.chol.CholeskyDecompositionCommon_FDRM
org.ejml.dense.row.decomposition.chol.CholeskyDecompositionBlock_FDRM
- All Implemented Interfaces:
CholeskyDecomposition<FMatrixRMaj>
,CholeskyDecomposition_F32<FMatrixRMaj>
,DecompositionInterface<FMatrixRMaj>
- Direct Known Subclasses:
CholeskyDecompositionBlock_MT_FDRM
@Generated("org.ejml.dense.row.decomposition.chol.CholeskyDecompositionBlock_DDRM")
public class CholeskyDecompositionBlock_FDRM
extends CholeskyDecompositionCommon_FDRM
This is an implementation of Cholesky that processes internal submatrices as blocks. This is
done to reduce the number of cache issues.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCholeskyDecompositionBlock_FDRM
(int blockWidth) Creates a CholeksyDecomposition capable of decomposing a matrix that is n by n, where n is the width. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Performs Choleksy decomposition on the provided matrix.protected boolean
Performs an upper triangular decomposition.void
setExpectedMaxSize
(int numRows, int numCols) Declares additional internal data structures.void
solveL_special
(float[] L, FMatrixRMaj b_src, int indexSrc, int indexDst, FMatrixRMaj B) This is a variation on theTriangularSolver_FDRM.solveL(float[], float[], int)
function.void
symmRankTranA_sub
(FMatrixRMaj a, FMatrixRMaj c, int startIndexC) Performs this operation:
c = c - aTa
where c is a submatrix.Methods inherited from class org.ejml.dense.row.decomposition.chol.CholeskyDecompositionCommon_FDRM
_getVV, computeDeterminant, decompose, getT, getT, inputModified, isLower
-
Constructor Details
-
CholeskyDecompositionBlock_FDRM
public CholeskyDecompositionBlock_FDRM(int blockWidth) Creates a CholeksyDecomposition capable of decomposing a matrix that is n by n, where n is the width.- Parameters:
blockWidth
- The width of a block.
-
-
Method Details
-
setExpectedMaxSize
public void setExpectedMaxSize(int numRows, int numCols) Declares additional internal data structures.- Overrides:
setExpectedMaxSize
in classCholeskyDecompositionCommon_FDRM
-
decomposeLower
protected boolean decomposeLower()Performs Choleksy decomposition on the provided matrix.
If the matrix is not positive definite then this function will return false since it can't complete its computations. Not all errors will be found.
- Specified by:
decomposeLower
in classCholeskyDecompositionCommon_FDRM
- Returns:
- True if it was able to finish the decomposition.
-
decomposeUpper
protected boolean decomposeUpper()Description copied from class:CholeskyDecompositionCommon_FDRM
Performs an upper triangular decomposition.- Specified by:
decomposeUpper
in classCholeskyDecompositionCommon_FDRM
- Returns:
- true if the matrix was decomposed.
-
solveL_special
This is a variation on theTriangularSolver_FDRM.solveL(float[], float[], int)
function. It grabs the input from the top right row rectangle of the source matrix then writes the results to the lower bottom column rectangle. The rectangle matrices just matrices are submatrices of the matrix that is being decomposed. The results are also written to B.- Parameters:
L
- A lower triangular matrix.b_src
- matrix with the vectors that are to be solved forindexSrc
- First index of the submatrix where the inputs are coming from.indexDst
- First index of the submatrix where the results are going to.
-
symmRankTranA_sub
Performs this operation:
Only the upper triangle is updated.
c = c - aTa
where c is a submatrix.- Parameters:
a
- A matrix.c
- A matrix.startIndexC
- start of the submatrix in c.
-