Class CholeskyUpLooking_DSCC
java.lang.Object
org.ejml.sparse.csc.decomposition.chol.CholeskyUpLooking_DSCC
- All Implemented Interfaces:
CholeskyDecomposition<DMatrixSparseCSC>
,CholeskySparseDecomposition<DMatrixSparseCSC>
,CholeskySparseDecomposition_F64<DMatrixSparseCSC>
,DecompositionInterface<DMatrixSparseCSC>
,DecompositionSparseInterface<DMatrixSparseCSC>
public class CholeskyUpLooking_DSCC
extends Object
implements CholeskySparseDecomposition_F64<DMatrixSparseCSC>
Performs a Cholesky decomposition using an up looking algorthm on a
DMatrixSparseCSC
.
See page 59 in "Direct Methods for Sparse Linear Systems" by Tomothy A. Davis
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionComputes the matrix's determinant using the decomposition.boolean
decompose
(DMatrixSparseCSC orig) Computes the decomposition of the input matrix.getGw()
getGx()
getL()
getT
(@Nullable DMatrixSparseCSC 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.boolean
Checks to see if the structure is locked.void
void
setStructureLocked
(boolean locked) Save results from structural analysis step.
-
Constructor Details
-
CholeskyUpLooking_DSCC
public CholeskyUpLooking_DSCC()
-
-
Method Details
-
decompose
Description copied from interface:DecompositionInterface
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<DMatrixSparseCSC>
- Parameters:
orig
- The matrix which is being decomposed. Modification is implementation dependent.- Returns:
- Returns if it was able to decompose the matrix.
-
performSymbolic
-
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<DMatrixSparseCSC>
- Returns:
- true if the input matrix to decompose() is modified.
-
isLower
public boolean isLower()Description copied from interface:CholeskyDecomposition
If true the decomposition was for a lower triangular matrix. If false it was for an upper triangular matrix.- Specified by:
isLower
in interfaceCholeskyDecomposition<DMatrixSparseCSC>
- Returns:
- True if lower, false if upper.
-
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<DMatrixSparseCSC>
- Parameters:
T
- If not null then the decomposed matrix is written here.- Returns:
- A lower or upper triangular matrix.
-
computeDeterminant
Description copied from interface:CholeskySparseDecomposition_F64
Computes the matrix's determinant using the decomposition.- Specified by:
computeDeterminant
in interfaceCholeskySparseDecomposition_F64<DMatrixSparseCSC>
- Returns:
- The determinant.
-
getGx
-
getL
-
getGw
-
setStructureLocked
public void setStructureLocked(boolean locked) Description copied from interface:DecompositionSparseInterface
Save results from structural analysis step. This can reduce computations if a matrix with the exactly same non-zero pattern is decomposed in the future. If a matrix has yet to be processed then the structure of the next matrix is saved. If a matrix has already been processed then the structure of the most recently processed matrix will be saved.
- Specified by:
setStructureLocked
in interfaceDecompositionSparseInterface<DMatrixSparseCSC>
-
isStructureLocked
public boolean isStructureLocked()Description copied from interface:DecompositionSparseInterface
Checks to see if the structure is locked.- Specified by:
isStructureLocked
in interfaceDecompositionSparseInterface<DMatrixSparseCSC>
- Returns:
- true if locked or false if not locked.
-