no.uib.cipr.matrix.sparse
Class QMR
java.lang.Object
no.uib.cipr.matrix.sparse.AbstractIterativeSolver
no.uib.cipr.matrix.sparse.QMR
- All Implemented Interfaces:
- IterativeSolver
public class QMR
- extends AbstractIterativeSolver
Quasi-Minimal Residual method. QMR solves the unsymmetric linear system
Ax = b
using the Quasi-Minimal Residual method. QMR uses two
preconditioners, and by default these are the same preconditioner.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
QMR
public QMR(Vector template)
- Constructor for QMR. Uses the given vector as template for creating
scratch vectors. Typically, the solution or the right hand side vector
can be passed, and the template is not modified
- Parameters:
template
- Vector to use as template for the work vectors needed in the
solution process
QMR
public QMR(Vector template,
Preconditioner M1,
Preconditioner M2)
- Constructor for QMR. Uses the given vector as template for creating
scratch vectors. Typically, the solution or the right hand side vector
can be passed, and the template is not modified. Allows setting different
right and left preconditioners
- Parameters:
template
- Vector to use as template for the work vectors needed in the
solution processM1
- Left preconditionerM2
- Right preconditioner
solve
public Vector solve(Matrix A,
Vector b,
Vector x)
throws IterativeSolverNotConvergedException
- Description copied from interface:
IterativeSolver
- Solves the given problem, writing result into the vector.
- Parameters:
A
- Matrix of the problemb
- Right hand sidex
- Solution is stored here. Also used as initial guess
- Returns:
- The solution vector x
- Throws:
IterativeSolverNotConvergedException
setPreconditioner
public void setPreconditioner(Preconditioner M)
- Description copied from interface:
IterativeSolver
- Sets preconditioner
- Specified by:
setPreconditioner
in interface IterativeSolver
- Overrides:
setPreconditioner
in class AbstractIterativeSolver
- Parameters:
M
- Preconditioner to use