GMRES - Generalized Minimal Residual method. (Saad and Schultz, 1986) with restart

Usage:

-ksp_type gmres

Options:

-ksp_gmres_restart <restart>

the number of Krylov directions to orthogonalize against

-ksp_gmres_haptol <tol>

sets the tolerance for "happy ending" (exact convergence)

-ksp_gmres_preallocate

preallocate all the Krylov search directions initially (otherwise groups of vectors are allocated as needed)

-ksp_gmres_classicalgramschmidt

use classical (unmodified) Gram-Schmidt to orthogonalize against the Krylov space (fast) (the default)

-ksp_gmres_modifiedgramschmidt

use modified Gram-Schmidt in the orthogonalization (more stable, but slower)

-ksp_gmres_cgs_refinement_type <never,ifneeded,always>

determine if iterative refinement is used to increase the stability of the classical Gram-Schmidt orthogonalization.

-ksp_gmres_krylov_monitor

plot the Krylov space generated

Options:
GMRES(1) – GMRES with no restarts
GMRES(k) – Algorithm is restarted after k iteration steps so that a large number of basis vectors do not need to be maintained.

Benefits: Minimizes residuals by constructing an orthogonal basis for some suitable Krylov subspace.
Drawbacks: Long expensive recursion. In skew-symmetric situation, this method can stagnate unless restarts are utilized (say k=2).

The Generalized Minimal Residual method computes a sequence of orthogonal vectors (like MINRES), and combines these through a least-squares solve and update. However, unlike MINRES (and CG) it requires storing the whole sequence, so that a large amount of storage is needed. For this reason, restarted versions of this method are used. In restarted versions, computation and storage costs are limited by specifying a fixed number of vectors to be generated. This method is useful for general nonsymmetric matrices.

GMRES is an extension of MINRES to unsymmetric systems.

Back to Main Page