Class 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-Ty

    It is also possible to use the upper triangular cholesky decomposition.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.ejml.interfaces.decomposition.CholeskyDecomposition_F32<org.ejml.data.FMatrixRBlock> getDecomposition()  
      void invert​(org.ejml.data.FMatrixRBlock A_inv)  
      boolean modifiesA()  
      boolean modifiesB()  
      double quality()  
      boolean setA​(org.ejml.data.FMatrixRBlock A)
      Decomposes and overwrites the input matrix.
      void solve​(org.ejml.data.FMatrixRBlock B, org.ejml.data.FMatrixRBlock 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 Detail

      • CholeskyOuterSolver_FDRB

        public CholeskyOuterSolver_FDRB()
    • Method Detail

      • setA

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

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

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

        public boolean modifiesB()
        Specified by:
        modifiesB in interface org.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:
        getDecomposition in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,​org.ejml.data.FMatrixRBlock>