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 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>
     
    protected org.ejml.data.DMatrixRBlock
     
    protected org.ejml.data.DMatrixRBlock
     
    protected org.ejml.data.DMatrixRBlock
     
  • 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
     
    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
     
    boolean
     
    double
     
    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>