Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Português - 日本語

Aide Scilab >> Matrices creuses > gmres

# gmres

Generalized Minimum RESidual method

### Calling Sequence

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

### Arguments

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);`

• pcg — precondioned conjugate gradient
• qmr — quasi minimal resiqual method with preconditioning

### Authors

Sage Group (IRISA, 2005)

 << full Matrices creuses issparse >>

 Scilab EnterprisesCopyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Wed Oct 05 12:10:58 CEST 2011