org.ejml.alg.dense.linsol.qr
Class LinearSolverQrpHouseCol

java.lang.Object
  extended by org.ejml.alg.dense.linsol.LinearSolverAbstract
      extended by org.ejml.alg.dense.linsol.qr.BaseLinearSolverQrp
          extended by org.ejml.alg.dense.linsol.qr.LinearSolverQrpHouseCol
All Implemented Interfaces:
LinearSolver<DenseMatrix64F>

public class LinearSolverQrpHouseCol
extends BaseLinearSolverQrp

Performs a pseudo inverse solver using the QRColPivDecompositionHouseholderColumn decomposition directly. For details on how the pseudo inverse is computed see BaseLinearSolverQrp.

Author:
Peter Abeles

Field Summary
 
Fields inherited from class org.ejml.alg.dense.linsol.qr.BaseLinearSolverQrp
I, internalSolver, norm2Solution, R, R11, rank, Y
 
Fields inherited from class org.ejml.alg.dense.linsol.LinearSolverAbstract
A, numCols, numRows
 
Constructor Summary
LinearSolverQrpHouseCol(QRColPivDecompositionHouseholderColumn decomposition, boolean norm2Solution)
           
 
Method Summary
 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.
 void solve(DenseMatrix64F B, DenseMatrix64F X)
           Solves for X in the linear system, A*X=B.
 
Methods inherited from class org.ejml.alg.dense.linsol.qr.BaseLinearSolverQrp
invert, quality, setA, upgradeSolution
 
Methods inherited from class org.ejml.alg.dense.linsol.LinearSolverAbstract
_setA, getA
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinearSolverQrpHouseCol

public LinearSolverQrpHouseCol(QRColPivDecompositionHouseholderColumn decomposition,
                               boolean norm2Solution)
Method Detail

solve

public void solve(DenseMatrix64F B,
                  DenseMatrix64F X)
Description copied from interface: LinearSolver

Solves 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.

Parameters:
B - A matrix ℜ m × p. Might be modified.
X - A matrix ℜ n × p, where the solution is written to. Modified.

modifiesA

public boolean modifiesA()
Description copied from interface: LinearSolver
Returns true if the passed in matrix to LinearSolver.setA(org.ejml.data.Matrix64F) is modified.

Returns:
true if A is modified in setA().

modifiesB

public boolean modifiesB()
Description copied from interface: LinearSolver
Returns true if the passed in 'B' matrix to LinearSolver.solve(org.ejml.data.Matrix64F, org.ejml.data.Matrix64F) is modified.

Returns:
true if B is modified in solve(B,X).


Copyright © 2012. All Rights Reserved.