Class LinearSolverQrHouseCol_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 LinearSolverQrHouseCol_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.

    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      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 java.lang.Object

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

      • maxRows

        protected int maxRows
      • maxCols

        protected int maxCols
    • Constructor Detail

      • LinearSolverQrHouseCol_DDRM

        public LinearSolverQrHouseCol_DDRM()
        Creates a linear solver that uses QR decomposition.
    • Method Detail

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