org.ejml.alg.dense.decomposition.chol
Class CholeskyDecompositionBlock_D64
- java.lang.Object
-
- org.ejml.alg.dense.decomposition.chol.CholeskyDecompositionCommon_D64
-
- org.ejml.alg.dense.decomposition.chol.CholeskyDecompositionBlock_D64
-
- All Implemented Interfaces:
- CholeskyDecomposition<DenseMatrix64F>, DecompositionInterface<DenseMatrix64F>
public class CholeskyDecompositionBlock_D64 extends CholeskyDecompositionCommon_D64
This is an implementation of Cholesky that processes internal submatrices as blocks. This is done to reduce the number of cache issues.
-
-
Constructor Summary
Constructors Constructor and Description CholeskyDecompositionBlock_D64(int blockWidth)Creates a CholeksyDecomposition capable of decomposing a matrix that is n by n, where n is the width.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidsetExpectedMaxSize(int numRows, int numCols)Declares additional internal data structures.static voidsolveL_special(double[] L, DenseMatrix64F b_src, int indexSrc, int indexDst, DenseMatrix64F B)This is a variation on theTriangularSolver.solveL(double[], double[], int)function.static voidsymmRankTranA_sub(DenseMatrix64F a, DenseMatrix64F c, int startIndexC)Performs this operation:
c = c - aTa
where c is a submatrix.-
Methods inherited from class org.ejml.alg.dense.decomposition.chol.CholeskyDecompositionCommon_D64
_getVV, computeDeterminant, decompose, getT, getT, inputModified, isLower
-
-
-
-
Constructor Detail
-
CholeskyDecompositionBlock_D64
public CholeskyDecompositionBlock_D64(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 Detail
-
setExpectedMaxSize
public void setExpectedMaxSize(int numRows, int numCols)Declares additional internal data structures.- Overrides:
setExpectedMaxSizein classCholeskyDecompositionCommon_D64
-
solveL_special
public static void solveL_special(double[] L, DenseMatrix64F b_src, int indexSrc, int indexDst, DenseMatrix64F B)This is a variation on theTriangularSolver.solveL(double[], double[], 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.B-
-
symmRankTranA_sub
public static void symmRankTranA_sub(DenseMatrix64F a, DenseMatrix64F c, int startIndexC)
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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG