no.uib.cipr.matrix.sparse
Class GMRES
java.lang.Object
no.uib.cipr.matrix.sparse.AbstractIterativeSolver
no.uib.cipr.matrix.sparse.GMRES
- All Implemented Interfaces:
- IterativeSolver
public class GMRES
- extends AbstractIterativeSolver
GMRES solver. GMRES solves the unsymmetric linear system Ax = b
using the Generalized Minimum Residual method. The GMRES iteration is
restarted after a given number of iterations. By default it is restarted
after 30 iterations.
Constructor Summary |
GMRES(Vector template)
Constructor for GMRES. |
GMRES(Vector template,
int restart)
Constructor for GMRES. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GMRES
public GMRES(Vector template)
- Constructor for GMRES. 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. The iteration is
restarted every 30 iterations
- Parameters:
template
- Vector to use as template for the work vectors needed in the
solution process
GMRES
public GMRES(Vector template,
int restart)
- Constructor for GMRES. 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 processrestart
- GMRES iteration is restarted after this number of iterations
setRestart
public void setRestart(int restart)
- Sets the restart parameter
- Parameters:
restart
- GMRES iteration is restarted after this number of iterations
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