Class LinearSolver_DDRB_to_DDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>, org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRMaj>
    Direct Known Subclasses:
    LinearSolverChol_DDRB, LinearSolverQrBlock64_DDRM

    public class LinearSolver_DDRB_to_DDRM
    extends java.lang.Object
    implements org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRMaj>
    Wrapper that allows DMatrixRBlock to implements LinearSolverDense. It works by converting DMatrixRMaj into DMatrixRBlock and calling the equivalent functions. Since a local copy is made all input matrices are never modified.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock> alg  
      protected org.ejml.data.DMatrixRBlock blockA  
      protected org.ejml.data.DMatrixRBlock blockB  
      protected org.ejml.data.DMatrixRBlock blockX  
    • Constructor Summary

      Constructors 
      Constructor Description
      LinearSolver_DDRB_to_DDRM​(org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock> alg)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <D extends org.ejml.interfaces.decomposition.DecompositionInterface>
      D
      getDecomposition()  
      void invert​(org.ejml.data.DMatrixRMaj A_inv)
      Creates a block matrix the same size as A_inv, inverts the matrix and copies the results back onto A_inv.
      boolean modifiesA()  
      boolean modifiesB()  
      double quality()  
      boolean setA​(org.ejml.data.DMatrixRMaj A)
      Converts 'A' into a block matrix and call setA() on the block matrix solver.
      void solve​(org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj X)
      Converts B and X into block matrices and calls the block matrix solve routine.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • alg

        protected org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock> alg
      • blockA

        protected org.ejml.data.DMatrixRBlock blockA
      • blockB

        protected org.ejml.data.DMatrixRBlock blockB
      • blockX

        protected org.ejml.data.DMatrixRBlock blockX
    • Constructor Detail

      • LinearSolver_DDRB_to_DDRM

        public LinearSolver_DDRB_to_DDRM​(org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRBlock> alg)
    • Method Detail

      • setA

        public boolean setA​(org.ejml.data.DMatrixRMaj A)
        Converts 'A' into a block matrix and call setA() on the block matrix solver.
        Specified by:
        setA in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>
        Parameters:
        A - The A matrix in the linear equation. Not modified. Reference saved.
        Returns:
        true if it can solve the system.
      • quality

        public double quality()
        Specified by:
        quality in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>
      • solve

        public void solve​(org.ejml.data.DMatrixRMaj B,
                          org.ejml.data.DMatrixRMaj X)
        Converts B and X into block matrices and calls the block matrix solve routine.
        Specified by:
        solve in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>
        Parameters:
        B - A matrix ℜ m × p. Not modified.
        X - A matrix ℜ n × p, where the solution is written to. Modified.
      • invert

        public void invert​(org.ejml.data.DMatrixRMaj A_inv)
        Creates a block matrix the same size as A_inv, inverts the matrix and copies the results back onto A_inv.
        Specified by:
        invert in interface org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRMaj>
        Parameters:
        A_inv - Where the inverted matrix saved. Modified.
      • modifiesA

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

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

        public <D extends org.ejml.interfaces.decomposition.DecompositionInterface> D getDecomposition()
        Specified by:
        getDecomposition in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>