The most popular form of
GMRES is based on the modified Gram-Schmidt orthogonalization, e.g.
[8]. In our algorithm we use GMRES to solve the system of equations resulting
from the finite element procedures applied within the Taylor-Galerkin formulation
of flow problems. For better convergence properties we do not solve the original
system of equations A*x=b (with A the global stiffnes matrix, x the
vector of unknown degrees of freedom and b the global load vector), but the
preconditioned system M-1*A*x=M-1*b. The GMRES algorithm looks as
follows:
set an initial guess x0
repeat until convergence
compute residual of preconditioned problem:
r0 = M-1 ( A x0 - b ) (*)
normalize residual:
for i=1,2,...,k
compute matrix-vector product:
(*)
orthonormalize
wrt all previous
..,i-1 by modified Gram-Schmidt procedure
obtaining
solve GMRES minimization problem
check convergence, if attained leave GMRES
The steps marked with (*) in the GMRES diagram can be performed without forming explicitly the global stiffnes matrix by using either the block Gauss-Seidel or the block Jacobi algorithm [6] as a preconditioner. Each choice corresponds to a particular form of the preconditioning matrix M.