Package org.ejml.dense.row.linsol.qr
Class LinearSolverQr_CDRM
- java.lang.Object
-
- org.ejml.dense.row.linsol.LinearSolverAbstract_CDRM
-
- org.ejml.dense.row.linsol.qr.LinearSolverQr_CDRM
-
- All Implemented Interfaces:
org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.CMatrixRMaj,org.ejml.data.CMatrixRMaj>,org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.CMatrixRMaj>
public class LinearSolverQr_CDRM extends LinearSolverAbstract_CDRM
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^H b
-
-
Field Summary
Fields Modifier and Type Field Description protected intmaxColsprotected intmaxRowsprotected org.ejml.data.CMatrixRMajQprotected org.ejml.data.CMatrixRMajQtprotected org.ejml.data.CMatrixRMajR-
Fields inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_CDRM
A, numCols, numRows, stride
-
-
Constructor Summary
Constructors Constructor Description LinearSolverQr_CDRM(org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.CMatrixRMaj> decomposer)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.CMatrixRMaj>getDecomposer()org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.CMatrixRMaj>getDecomposition()org.ejml.data.CMatrixRMajgetQ()org.ejml.data.CMatrixRMajgetR()booleanmodifiesA()booleanmodifiesB()doublequality()booleansetA(org.ejml.data.CMatrixRMaj A)Performs QR decomposition on AvoidsetMaxSize(int maxRows, int maxCols)Changes the size of the matrix it can solve forvoidsolve(org.ejml.data.CMatrixRMaj B, org.ejml.data.CMatrixRMaj X)Solves for X using the QR decomposition.-
Methods inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_CDRM
_setA, getA, invert
-
-
-
-
Method Detail
-
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.CMatrixRMaj A)
Performs QR decomposition on A- Parameters:
A- not modified.
-
quality
public double quality()
-
solve
public void solve(org.ejml.data.CMatrixRMaj B, org.ejml.data.CMatrixRMaj 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.CMatrixRMaj> getDecomposition()
-
getDecomposer
public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.CMatrixRMaj> getDecomposer()
-
getQ
public org.ejml.data.CMatrixRMaj getQ()
-
getR
public org.ejml.data.CMatrixRMaj getR()
-
-