Class LinearSolver_FDRB_to_FDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRMaj>
    Direct Known Subclasses:
    LinearSolverChol_FDRB, LinearSolverQrBlock64_FDRM

    public class LinearSolver_FDRB_to_FDRM
    extends java.lang.Object
    implements org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRMaj>
    Wrapper that allows FMatrixRBlock to implements LinearSolverDense. It works by converting FMatrixRMaj into FMatrixRBlock 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.FMatrixRBlock> alg  
      protected org.ejml.data.FMatrixRBlock blockA  
      protected org.ejml.data.FMatrixRBlock blockB  
      protected org.ejml.data.FMatrixRBlock blockX  
    • Constructor Summary

      Constructors 
      Constructor Description
      LinearSolver_FDRB_to_FDRM​(org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock> 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.FMatrixRMaj 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.FMatrixRMaj A)
      Converts 'A' into a block matrix and call setA() on the block matrix solver.
      void solve​(org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj 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.FMatrixRBlock> alg
      • blockA

        protected org.ejml.data.FMatrixRBlock blockA
      • blockB

        protected org.ejml.data.FMatrixRBlock blockB
      • blockX

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

      • LinearSolver_FDRB_to_FDRM

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

      • setA

        public boolean setA​(org.ejml.data.FMatrixRMaj 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.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>
        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.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>
      • solve

        public void solve​(org.ejml.data.FMatrixRMaj B,
                          org.ejml.data.FMatrixRMaj 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.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>
        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.FMatrixRMaj 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.FMatrixRMaj>
        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.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>
      • modifiesB

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

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