Version 1.1.0
15th April 2015- User documentation
- Recent Changes
-
Code Download
- Single
- Double
HSL_MI29: MPGMRES: an extension of GMRES which allows multiple preconditioners
This package solves the \(n\times n\) unsymmetric linear system \(A x = b\) using the iterative method restarted MPGMRES, otherwise known as MPGMRES(m)
. MPGMRES(m)
is itself a generalization of the standard right-preconditioned generalized minimal residual method with restarts (GMRES(m)
) that allows the user to employ multiple preconditioners at each iteration.
MPGMRES
comes in two variants: complete and selective. Complete MPGMRES
finds the approximation which minimizes the 2-norm of the residual over some space, termed the multi-Krylov space, which is defined by the choice of preconditioners. This search space grows exponentially with the iteration number, and so this version is generally to be avoided in practice, but useful in diagnostics. A selective version of MPGMRES
finds an approximation to the solution in some subspace of the full multi-Krylov space, the dimension of which will grow only linearly with the iteration number. The use of both variants is supported in this package.
Reverse communication is used for preconditioning operations and matrix-vector/matrix-matrix products with \(A\).