Package org.ejml.dense.block.linsol.qr
Class QrHouseHolderSolver_FDRB
- java.lang.Object
-
- org.ejml.dense.block.linsol.qr.QrHouseHolderSolver_FDRB
-
- All Implemented Interfaces:
org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>,org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>
public class QrHouseHolderSolver_FDRB extends java.lang.Object implements org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>A solver for
QRDecompositionHouseholder_FDRB. Systems are solved for using the standard QR decomposition method, sketched below.A = Q*R
A*x = b
Q*R*x = b
R*x = y = QTb
x = R-1y
Where A is the m by n matrix being decomposed. Q is an orthogonal matrix. R is upper triangular matrix.
-
-
Field Summary
Fields Modifier and Type Field Description protected QRDecompositionHouseholder_FDRBdecomposerprotected org.ejml.data.FMatrixRBlockQR
-
Constructor Summary
Constructors Constructor Description QrHouseHolderSolver_FDRB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRBlock>getDecomposition()voidinvert(org.ejml.data.FMatrixRBlock A_inv)Invert by solving for against an identity matrix.booleanmodifiesA()booleanmodifiesB()doublequality()Computes the quality using diagonal elements the triangular R matrix in the QR decomposition.booleansetA(org.ejml.data.FMatrixRBlock A)Computes the QR decomposition of A and store the results in A.voidsolve(org.ejml.data.FMatrixRBlock B, org.ejml.data.FMatrixRBlock X)
-
-
-
Field Detail
-
decomposer
protected QRDecompositionHouseholder_FDRB decomposer
-
QR
protected org.ejml.data.FMatrixRBlock QR
-
-
Method Detail
-
setA
public boolean setA(org.ejml.data.FMatrixRBlock A)
Computes the QR decomposition of A and store the results in A.- Specified by:
setAin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>- Parameters:
A- The A matrix in the linear equation. Modified. Reference saved.- Returns:
- true if the decomposition was successful.
-
quality
public double quality()
Computes the quality using diagonal elements the triangular R matrix in the QR decomposition.- Specified by:
qualityin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>- Returns:
- Solutions quality.
-
solve
public void solve(org.ejml.data.FMatrixRBlock B, org.ejml.data.FMatrixRBlock X)- Specified by:
solvein interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
invert
public void invert(org.ejml.data.FMatrixRBlock A_inv)
Invert by solving for against an identity matrix.- Specified by:
invertin interfaceorg.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRBlock>- Parameters:
A_inv- Where the inverted matrix saved. Modified.
-
modifiesA
public boolean modifiesA()
- Specified by:
modifiesAin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
modifiesB
public boolean modifiesB()
- Specified by:
modifiesBin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
getDecomposition
public org.ejml.interfaces.decomposition.QRDecomposition<org.ejml.data.FMatrixRBlock> getDecomposition()
- Specified by:
getDecompositionin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRBlock,org.ejml.data.FMatrixRBlock>
-
-