Package org.ejml.dense.row.linsol.qr
Class LinearSolverQrHouseCol_FDRM
java.lang.Object
org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
org.ejml.dense.row.linsol.qr.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>
- Direct Known Subclasses:
LinearSolverQrHouseCol_MT_FDRM
@Generated("org.ejml.dense.row.linsol.qr.LinearSolverQrHouseCol_DDRM")
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.ejml.data.FMatrixRMajprotected final QRDecompositionHouseholderColumn_FDRMprotected float[]protected intprotected intprotected float[][]protected final org.ejml.data.FMatrixRMajprotected final org.ejml.data.FMatrixRMajFields inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
A, numCols, numRows -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreates a linear solver that uses QR decomposition.protected -
Method Summary
Modifier and TypeMethodDescriptionorg.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRMaj>booleanbooleandoublequality()booleansetA(org.ejml.data.FMatrixRMaj A) Performs QR decomposition on AvoidsetMaxSize(int maxRows, int maxCols) voidsolve(org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj X) Solves for X using the QR decomposition.Methods inherited from class org.ejml.dense.row.linsol.LinearSolverAbstract_FDRM
_setA, getA, invert
-
Field Details
-
decomposer
-
a
protected final org.ejml.data.FMatrixRMaj a -
temp
protected final org.ejml.data.FMatrixRMaj temp -
maxRows
protected int maxRows -
maxCols
protected int maxCols -
QR
protected float[][] QR -
R
protected final org.ejml.data.FMatrixRMaj R -
gammas
protected float[] gammas
-
-
Constructor Details
-
LinearSolverQrHouseCol_FDRM
public LinearSolverQrHouseCol_FDRM()Creates a linear solver that uses QR decomposition. -
LinearSolverQrHouseCol_FDRM
-
-
Method Details
-
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()
-