Name

gmres — Generalized Minimum RESidual method

Calling Sequence

[x,flag,err,iter,res] = gmres(A,b,rstr,tol,maxi,M,x0)

Parameters

A

n-by-n matrix or function returning A*x

b

right hand side vector

x0

initial guess vector (default: zeros(n,1))

M

preconditioner: matrix or function returning M*x (In the first case, default: eye(n,n))

rstr

number of iterations between restarts (default: 10)

maxi

maximum number of iterations (default: n)

tol

error tolerance (default: 1e-6)

x

solution vector

err

final residual norm

iter

number of iterations performed

flag
0 =

gmres converged to the desired tolerance within maxi iterations

1 =

no convergence given maxi

res

residual vector

Description

GMRES

solves the linear system Ax=b using the Generalized Minimal residual method with restarts.

Details

of this algorithm are described in :

"Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, Eijkhout, Pozo, Romine, and Van der Vorst, SIAM Publications, 1993 (ftp netlib2.cs.utk.edu; cd linalg; get templates.ps).

"Iterative Methods for Sparse Linear Systems, Second Edition" Saad, SIAM Publications, 2003 (ftp ftp.cs.umn.edu; cd dept/users/saad/PS; get all_ps.zip).

Examples

 
// GMRES call x=gmres(A,b);
 

See Also

pcg , qmr

Authors

Sage Group (IRISA, 2005)