Class LinearSolverQr_FDRM

java.lang.Object
org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
org.ejml.dense.row.linsol.qr.LinearSolverQr_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:
AdjLinearSolverQr_FDRM

@Generated("org.ejml.dense.row.linsol.qr.LinearSolverQr_DDRM") public class LinearSolverQr_FDRM extends LinearSolverAbstract_FDRM

A solver for a generic QR decomposition algorithm. This will in general be a bit slower than the specialized once since the full Q and R matrices need to be extracted.

It solve for x by first multiplying b by the transpose of Q then solving for the result.
QRx=b
Rx=Q^T b

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
     
    protected int
     
    protected org.ejml.data.FMatrixRMaj
     
    protected org.ejml.data.FMatrixRMaj
     

    Fields inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM

    A, numCols, numRows
  • Constructor Summary

    Constructors
    Constructor
    Description
    LinearSolverQr_FDRM(org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> decomposer)
    Creates a linear solver that uses QR decomposition.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj>
     
    org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj>
     
    org.ejml.data.FMatrixRMaj
     
    org.ejml.data.FMatrixRMaj
     
    boolean
     
    boolean
     
    double
     
    boolean
    setA(org.ejml.data.FMatrixRMaj A)
    Performs QR decomposition on A
    void
    setMaxSize(int maxRows, int maxCols)
    Changes the size of the matrix it can solve for
    void
    solve(org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj X)
    Solves for X using the QR decomposition.

    Methods inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM

    _setA, getA, invert

    Methods inherited from class java.lang.Object

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

    • maxRows

      protected int maxRows
    • maxCols

      protected int maxCols
    • Q

      protected org.ejml.data.FMatrixRMaj Q
    • R

      protected org.ejml.data.FMatrixRMaj R
  • Constructor Details

    • LinearSolverQr_FDRM

      public LinearSolverQr_FDRM(org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> decomposer)
      Creates a linear solver that uses QR decomposition.
  • Method Details

    • setMaxSize

      public void setMaxSize(int maxRows, int maxCols)
      Changes the size of the matrix it can solve for
      Parameters:
      maxRows - Maximum number of rows in the matrix it will decompose.
      maxCols - Maximum number of columns in the matrix it will decompose.
    • setA

      public boolean setA(org.ejml.data.FMatrixRMaj A)
      Performs QR decomposition on A
      Parameters:
      A - not modified.
    • quality

      public double quality()
    • solve

      public void solve(org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj X)
      Solves for X using the QR decomposition.
      Parameters:
      B - A matrix that is n by m. Not modified.
      X - An n by m matrix where the solution is written to. Modified.
    • modifiesA

      public boolean modifiesA()
    • modifiesB

      public boolean modifiesB()
    • getDecomposition

      public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> getDecomposition()
    • getDecomposer

      public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj> getDecomposer()
    • getQ

      public org.ejml.data.FMatrixRMaj getQ()
    • getR

      public org.ejml.data.FMatrixRMaj getR()