Class LinearSolverQrHouseCol_FDRM

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

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

QR decomposition can be used to solve for systems. However, this is not as computationally efficient as LU decomposition and costs about 3n2 flops.

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

A column major decomposition is used in this solver.

  • Field Details

    • decomposer

      protected final QRDecompositionHouseholderColumn_FDRM decomposer
    • a

      protected final org.ejml.data.FMatrixRMaj a
    • temp

      protected final org.ejml.data.FMatrixRMaj temp
    • maxRows

      protected int maxRows
    • maxCols

      protected int maxCols
    • QR

      protected float[][] QR
    • R

      protected final org.ejml.data.FMatrixRMaj R
    • gammas

      protected float[] gammas
  • Constructor Details

    • LinearSolverQrHouseCol_FDRM

      public LinearSolverQrHouseCol_FDRM()
      Creates a linear solver that uses QR decomposition.
    • LinearSolverQrHouseCol_FDRM

      protected LinearSolverQrHouseCol_FDRM(QRDecompositionHouseholderColumn_FDRM decomposer)
  • Method Details

    • setMaxSize

      public void setMaxSize(int maxRows, int maxCols)
    • 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()