Class LinearSolver_DDRB_to_DDRM

java.lang.Object
org.ejml.dense.row.linsol.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

    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 Details

    • 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 Details

    • LinearSolver_DDRB_to_DDRM

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

    • 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>