Class CholeskyOuterSolver_DDRB

java.lang.Object
org.ejml.dense.block.linsol.chol.CholeskyOuterSolver_DDRB
All Implemented Interfaces:
org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>, org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock>

public class CholeskyOuterSolver_DDRB
extends java.lang.Object
implements org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock>

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 
    Constructor Description
    CholeskyOuterSolver_DDRB()  
  • Method Summary

    Modifier and Type Method Description
    org.ejml.interfaces.decomposition.CholeskyDecomposition_F64<org.ejml.data.DMatrixRBlock> getDecomposition()  
    void invert​(org.ejml.data.DMatrixRBlock A_inv)  
    boolean modifiesA()  
    boolean modifiesB()  
    double quality()  
    boolean setA​(org.ejml.data.DMatrixRBlock A)
    Decomposes and overwrites the input matrix.
    void solve​(org.ejml.data.DMatrixRBlock B, @Nullable org.ejml.data.DMatrixRBlock X)
    If X == null then the solution is written into B.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setA

      public boolean setA​(org.ejml.data.DMatrixRBlock A)
      Decomposes and overwrites the input matrix.
      Specified by:
      setA in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>
      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:
      quality in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>
    • solve

      public void solve​(org.ejml.data.DMatrixRBlock B, @Nullable @Nullable org.ejml.data.DMatrixRBlock X)
      If X == null then the solution is written into B. Otherwise the solution is copied from B into X.
      Specified by:
      solve in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>
    • invert

      public void invert​(org.ejml.data.DMatrixRBlock A_inv)
      Specified by:
      invert in interface org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock>
    • modifiesA

      public boolean modifiesA()
      Specified by:
      modifiesA in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>
    • modifiesB

      public boolean modifiesB()
      Specified by:
      modifiesB in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>
    • getDecomposition

      public org.ejml.interfaces.decomposition.CholeskyDecomposition_F64<org.ejml.data.DMatrixRBlock> getDecomposition()
      Specified by:
      getDecomposition in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRBlock,​org.ejml.data.DMatrixRBlock>