public class LinearSolverQr_DDRM extends LinearSolverAbstract_DDRM
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^T b
Modifier and Type | Field and Description |
---|---|
protected int |
maxCols |
protected int |
maxRows |
protected org.ejml.data.DMatrixRMaj |
Q |
protected org.ejml.data.DMatrixRMaj |
R |
A, numCols, numRows
Constructor and Description |
---|
LinearSolverQr_DDRM(org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> decomposer)
Creates a linear solver that uses QR decomposition.
|
Modifier and Type | Method and Description |
---|---|
org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> |
getDecomposer() |
org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> |
getDecomposition() |
org.ejml.data.DMatrixRMaj |
getQ() |
org.ejml.data.DMatrixRMaj |
getR() |
boolean |
modifiesA() |
boolean |
modifiesB() |
double |
quality() |
boolean |
setA(org.ejml.data.DMatrixRMaj A)
Performs QR decomposition on A
|
void |
setMaxSize(int maxRows,
int maxCols)
Changes the size of the matrix it can solve for
|
void |
solve(org.ejml.data.DMatrixRMaj B,
org.ejml.data.DMatrixRMaj X)
Solves for X using the QR decomposition.
|
_setA, getA, invert
protected int maxRows
protected int maxCols
protected org.ejml.data.DMatrixRMaj Q
protected org.ejml.data.DMatrixRMaj R
public LinearSolverQr_DDRM(org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> decomposer)
public void setMaxSize(int maxRows, int maxCols)
maxRows
- Maximum number of rows in the matrix it will decompose.maxCols
- Maximum number of columns in the matrix it will decompose.public boolean setA(org.ejml.data.DMatrixRMaj A)
A
- not modified.public double quality()
public void solve(org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj X)
B
- A matrix that is n by m. Not modified.X
- An n by m matrix where the solution is written to. Modified.public boolean modifiesA()
public boolean modifiesB()
public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> getDecomposition()
public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.DMatrixRMaj> getDecomposer()
public org.ejml.data.DMatrixRMaj getQ()
public org.ejml.data.DMatrixRMaj getR()