Class CholeskyDecompositionCommon_DDRM
java.lang.Object
org.ejml.dense.row.decomposition.chol.CholeskyDecompositionCommon_DDRM
- All Implemented Interfaces:
CholeskyDecomposition<DMatrixRMaj>,CholeskyDecomposition_F64<DMatrixRMaj>,DecompositionInterface<DMatrixRMaj>
- Direct Known Subclasses:
CholeskyDecompositionBlock_DDRM,CholeskyDecompositionInner_DDRM
public abstract class CholeskyDecompositionCommon_DDRM
extends Object
implements CholeskyDecomposition_F64<DMatrixRMaj>
This is an abstract class for a Cholesky decomposition. It provides the solvers, but the actual decomposition is provided in other classes.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Complex_F64protected booleanprotected intprotected intprotected double[]protected DMatrixRMajprotected double[] -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCholeskyDecompositionCommon_DDRM(boolean lower) Specifies if a lower or upper variant should be constructed. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]_getVV()Computes the matrix's determinant using the decomposition.booleandecompose(DMatrixRMaj mat) Performs Choleksy decomposition on the provided matrix.protected abstract booleanPerforms an lower triangular decomposition.protected abstract booleanPerforms an upper triangular decomposition.getT()Returns the triangular matrix from the decomposition.getT(@Nullable DMatrixRMaj T) Returns the triangular matrix from the decomposition.booleanChecks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)is modified during the decomposition process.booleanisLower()If true the decomposition was for a lower triangular matrix.voidsetExpectedMaxSize(int numRows, int numCols)
-
Field Details
-
maxWidth
protected int maxWidth -
n
protected int n -
T
-
t
protected double[] t -
vv
protected double[] vv -
lower
protected boolean lower -
det
-
-
Constructor Details
-
CholeskyDecompositionCommon_DDRM
protected CholeskyDecompositionCommon_DDRM(boolean lower) Specifies if a lower or upper variant should be constructed.- Parameters:
lower- should a lower or upper triangular matrix be used.
-
-
Method Details
-
setExpectedMaxSize
public void setExpectedMaxSize(int numRows, int numCols) -
isLower
public boolean isLower()If true the decomposition was for a lower triangular matrix. If false it was for an upper triangular matrix.- Specified by:
isLowerin interfaceCholeskyDecomposition<DMatrixRMaj>- Returns:
- True if lower, false if upper.
-
decompose
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. This is an efficient way to check for positive definiteness.
- Specified by:
decomposein interfaceDecompositionInterface<DMatrixRMaj>- Parameters:
mat- A symmetric positive definite matrix with n ≤ widthMax.- Returns:
- True if it was able to finish the decomposition.
-
inputModified
public boolean inputModified()Description copied from interface:DecompositionInterfaceChecks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)is modified during the decomposition process.- Specified by:
inputModifiedin interfaceDecompositionInterface<DMatrixRMaj>- Returns:
- true if the input matrix to decompose() is modified.
-
decomposeLower
protected abstract boolean decomposeLower()Performs an lower triangular decomposition.- Returns:
- true if the matrix was decomposed.
-
decomposeUpper
protected abstract boolean decomposeUpper()Performs an upper triangular decomposition.- Returns:
- true if the matrix was decomposed.
-
getT
Description copied from interface:CholeskyDecompositionReturns the triangular matrix from the decomposition.
If an input is provided that matrix is used to write the results to. Otherwise a new matrix is created and the results written to it.
- Specified by:
getTin interfaceCholeskyDecomposition<DMatrixRMaj>- Parameters:
T- If not null then the decomposed matrix is written here.- Returns:
- A lower or upper triangular matrix.
-
getT
Returns the triangular matrix from the decomposition.- Returns:
- A lower or upper triangular matrix.
-
_getVV
public double[] _getVV() -
computeDeterminant
Description copied from interface:CholeskyDecomposition_F64Computes the matrix's determinant using the decomposition.- Specified by:
computeDeterminantin interfaceCholeskyDecomposition_F64<DMatrixRMaj>- Returns:
- The determinant.
-