Package 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 systemAx = 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.
-
-
Field Summary
-
Fields inherited from class no.uib.cipr.matrix.sparse.AbstractIterativeSolver
iter, M
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setRestart(int restart)
Sets the restart parameterVector
solve(Matrix A, Vector b, Vector x)
Solves the given problem, writing result into the vector.-
Methods inherited from class no.uib.cipr.matrix.sparse.AbstractIterativeSolver
checkSizes, getIterationMonitor, getPreconditioner, setIterationMonitor, setPreconditioner
-
-
-
-
Constructor Detail
-
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
-
-
Method Detail
-
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
-
-