Package org.ejml.dense.block.linsol.chol
Class CholeskyOuterSolver_FDRB
- java.lang.Object
-
- org.ejml.dense.block.linsol.chol.CholeskyOuterSolver_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>
public class CholeskyOuterSolver_FDRB extends java.lang.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-TyIt is also possible to use the upper triangular cholesky decomposition.
-
-
Constructor Summary
Constructors Constructor Description CholeskyOuterSolver_FDRB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRBlock>getDecomposition()voidinvert(org.ejml.data.FMatrixRBlock A_inv)booleanmodifiesA()booleanmodifiesB()doublequality()booleansetA(org.ejml.data.FMatrixRBlock A)Decomposes and overwrites the input matrix.voidsolve(org.ejml.data.FMatrixRBlock B, org.ejml.data.FMatrixRBlock X)If X == null then the solution is written into B.
-
-
-
Method Detail
-
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, 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>
-
-