Class CholeskyDecompositionCommon_ZDRM
java.lang.Object
org.ejml.dense.row.decompose.chol.CholeskyDecompositionCommon_ZDRM
- All Implemented Interfaces:
CholeskyDecomposition<ZMatrixRMaj>
,CholeskyDecomposition_F64<ZMatrixRMaj>
,DecompositionInterface<ZMatrixRMaj>
- Direct Known Subclasses:
CholeskyDecompositionInner_ZDRM
public abstract class CholeskyDecompositionCommon_ZDRM
extends Object
implements CholeskyDecomposition_F64<ZMatrixRMaj>
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
Modifier and TypeFieldDescriptionprotected Complex_F64
protected boolean
protected int
protected double[]
protected ZMatrixRMaj
-
Constructor Summary
ModifierConstructorDescriptionprotected
CholeskyDecompositionCommon_ZDRM
(boolean lower) Specifies if a lower or upper variant should be constructed. -
Method Summary
Modifier and TypeMethodDescription_getT()
Returns the raw decomposed matrix.Computes the matrix's determinant using the decomposition.boolean
decompose
(ZMatrixRMaj mat) Computes the decomposition of the input matrix.protected abstract boolean
Performs an lower triangular decomposition.protected abstract boolean
Performs an upper triangular decomposition.getT
(@Nullable ZMatrixRMaj T) Returns the triangular matrix from the decomposition.boolean
Checks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)
is modified during the decomposition process.boolean
isLower()
If true the decomposition was for a lower triangular matrix.
-
Field Details
-
n
protected int n -
T
-
t
protected double[] t -
lower
protected boolean lower -
det
-
-
Constructor Details
-
CholeskyDecompositionCommon_ZDRM
protected CholeskyDecompositionCommon_ZDRM(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
-
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:
isLower
in interfaceCholeskyDecomposition<ZMatrixRMaj>
- Returns:
- True if lower, false if upper.
-
decompose
Computes the decomposition of the input matrix. Depending on the implementation the input matrix might be stored internally or modified. If it is modified then the functionDecompositionInterface.inputModified()
will return true and the matrix should not be modified until the decomposition is no longer needed.- Specified by:
decompose
in interfaceDecompositionInterface<ZMatrixRMaj>
- Parameters:
mat
- The matrix which is being decomposed. Modification is implementation dependent.- Returns:
- Returns if it was able to decompose the matrix.
-
inputModified
public boolean inputModified()Description copied from interface:DecompositionInterface
Checks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)
is modified during the decomposition process.- Specified by:
inputModified
in interfaceDecompositionInterface<ZMatrixRMaj>
- 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:CholeskyDecomposition
Returns 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:
getT
in interfaceCholeskyDecomposition<ZMatrixRMaj>
- Parameters:
T
- If not null then the decomposed matrix is written here.- Returns:
- A lower or upper triangular matrix.
-
_getT
Returns the raw decomposed matrix.- Returns:
- A lower or upper triangular matrix.
-
computeDeterminant
Description copied from interface:CholeskyDecomposition_F64
Computes the matrix's determinant using the decomposition.- Specified by:
computeDeterminant
in interfaceCholeskyDecomposition_F64<ZMatrixRMaj>
- Returns:
- The determinant.
-