Package org.ejml.dense.block.linsol.chol
Class CholeskyOuterSolver_MT_FDRB
java.lang.Object
org.ejml.dense.block.linsol.chol.CholeskyOuterSolver_MT_FDRB
- All Implemented Interfaces:
org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,,org.ejml.data.FMatrixRBlock> org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>
@Generated("org.ejml.dense.block.linsol.chol.CholeskyOuterSolver_FDRB")
public class CholeskyOuterSolver_MT_FDRB
extends Object
implements org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>
Linear solver that uses a block cholesky decomposition.
Solver works by using the standard Cholesky solving strategy:
A=L*LT
A*x=b
L*LT*x = b
L*y = b
LT*x = y
x = L-Ty
It is also possible to use the upper triangular cholesky decomposition.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRBlock>voidinvert(org.ejml.data.FMatrixRBlock A_inv) booleanbooleandoublequality()booleansetA(org.ejml.data.FMatrixRBlock A) Decomposes and overwrites the input matrix.voidsolve(org.ejml.data.FMatrixRBlock B, @Nullable org.ejml.data.FMatrixRBlock X) If X == null then the solution is written into B.
-
Constructor Details
-
CholeskyOuterSolver_MT_FDRB
public CholeskyOuterSolver_MT_FDRB()
-
-
Method Details
-
setA
public boolean setA(org.ejml.data.FMatrixRBlock A) Decomposes and overwrites the input matrix.- Specified by:
setAin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock> - Parameters:
A- Semi-Positive Definite (SPD) system matrix. Modified. Reference saved.- Returns:
- If the matrix can be decomposed. Will always return false of not SPD.
-
quality
public double quality()- Specified by:
qualityin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
solve
public void solve(org.ejml.data.FMatrixRBlock B, @Nullable @Nullable org.ejml.data.FMatrixRBlock X) If X == null then the solution is written into B. Otherwise the solution is copied from B into X.- Specified by:
solvein interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
invert
public void invert(org.ejml.data.FMatrixRBlock A_inv) - Specified by:
invertin interfaceorg.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>
-
modifiesA
public boolean modifiesA()- Specified by:
modifiesAin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
modifiesB
public boolean modifiesB()- Specified by:
modifiesBin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
getDecomposition
public org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRBlock> getDecomposition()- Specified by:
getDecompositionin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-