GMRES, proposed by Saad and Schultz [107], is a CG-like
method for solving general nonsingular linear systems Ax=b.
GMRES minimizes the residual over the Krylov subspace
, with
.
This requires, as with CG, the construction of an orthogonal
basis of this space. Since we do not require A to be symmetric,
we need long recurrences: each new vector must be
explicitly orthogonalized against all previously generated basis vectors.
In its most common form GMRES orthogonalizes using Modified Gram--Schmidt
[4].
In order to limit memory
requirements (since all basis vectors must be stored), GMRES is
restarted after each cycle of m iteration steps; this is called
GMRES
.
A slightly simplified version of GMRES
with
preconditioning K is as follows (for details, see [108]):