|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.ejml.alg.block.linsol.qr.BlockQrHouseHolderSolver
public class BlockQrHouseHolderSolver
A solver for BlockMatrix64HouseholderQR. 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 | |
|---|---|
protected BlockMatrix64HouseholderQR |
decomp
|
protected BlockMatrix64F |
QR
|
| Constructor Summary | |
|---|---|
BlockQrHouseHolderSolver()
|
|
| Method Summary | |
|---|---|
void |
invert(BlockMatrix64F A_inv)
Invert by solving for against an identity matrix. |
boolean |
modifiesA()
Returns true if the passed in matrix to LinearSolver.setA(org.ejml.data.Matrix64F)
is modified. |
boolean |
modifiesB()
Returns true if the passed in 'B' matrix to LinearSolver.solve(org.ejml.data.Matrix64F, org.ejml.data.Matrix64F)
is modified. |
double |
quality()
Computes the quality using diagonal elements the triangular R matrix in the QR decomposition. |
boolean |
setA(BlockMatrix64F A)
Computes the QR decomposition of A and store the results in A. |
void |
solve(BlockMatrix64F B,
BlockMatrix64F X)
Solves for X in the linear system, A*X=B. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected BlockMatrix64HouseholderQR decomp
protected BlockMatrix64F QR
| Constructor Detail |
|---|
public BlockQrHouseHolderSolver()
| Method Detail |
|---|
public boolean setA(BlockMatrix64F A)
setA in interface LinearSolver<BlockMatrix64F>A - The A matrix in the linear equation. Modified. Reference saved.
public double quality()
quality in interface LinearSolver<BlockMatrix64F>
public void solve(BlockMatrix64F B,
BlockMatrix64F X)
LinearSolverSolves for X in the linear system, A*X=B.
In some implementations 'B' and 'X' can be the same instance of a variable. Call
LinearSolver.modifiesB() to determine if 'B' is modified.
solve in interface LinearSolver<BlockMatrix64F>B - A matrix ℜ m × p. Might be modified.X - A matrix ℜ n × p, where the solution is written to. Modified.public void invert(BlockMatrix64F A_inv)
invert in interface LinearSolver<BlockMatrix64F>A_inv - Where the inverted matrix saved. Modified.public boolean modifiesA()
LinearSolverLinearSolver.setA(org.ejml.data.Matrix64F)
is modified.
modifiesA in interface LinearSolver<BlockMatrix64F>public boolean modifiesB()
LinearSolverLinearSolver.solve(org.ejml.data.Matrix64F, org.ejml.data.Matrix64F)
is modified.
modifiesB in interface LinearSolver<BlockMatrix64F>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||