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

    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.

    • Constructor Summary

      Constructors 
      Constructor Description
      LinearSolverQrHouseCol_FDRM()
      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.FMatrixRMaj> getDecomposition()  
      boolean modifiesA()  
      boolean modifiesB()  
      double quality()  
      boolean setA​(org.ejml.data.FMatrixRMaj A)
      Performs QR decomposition on A
      void setMaxSize​(int maxRows, int maxCols)  
      void solve​(org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj 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_FDRM

        public LinearSolverQrHouseCol_FDRM()
        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.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()