Class LinearSolverQrHouseTran_DDRM

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

public class LinearSolverQrHouseTran_DDRM
extends LinearSolverAbstract_DDRM

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 Summary

    Fields 
    Modifier and Type Field Description
    protected int maxCols  
    protected int maxRows  

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

    A, numCols, numRows
  • Constructor Summary

    Constructors 
    Constructor Description
    LinearSolverQrHouseTran_DDRM()
    Creates a linear solver that uses QR decomposition.
  • Method Summary

    Modifier and Type Method Description
    org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> getDecomposition()  
    boolean modifiesA()  
    boolean modifiesB()  
    double quality()  
    boolean setA​(org.ejml.data.DMatrixRMaj A)
    Performs QR decomposition on A
    void setMaxSize​(int maxRows, int maxCols)  
    void solve​(org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj X)
    Solves for X using the QR decomposition.

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

    _setA, getA, invert

    Methods inherited from class java.lang.Object

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

  • Constructor Details

  • Method Details

    • setMaxSize

      public void setMaxSize​(int maxRows, int maxCols)
    • setA

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

      public double quality()
    • solve

      public void solve​(org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj 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.DMatrixRMaj> getDecomposition()