Provided by:

librheolef-dev_5.93-2_i386 **NAME**

**qmr** -- quasi-minimal residual algoritm

**SYNOPSIS**

template <class Matrix, class Vector, class Preconditioner1,
class Preconditioner2, class Real>
int qmr (const Matrix &A, Vector &x, const Vector &b,
const Preconditioner1 &M1, const Preconditioner2 &M2,
int &max_iter, Real &tol);

**EXAMPLE**

The simplest call to 'qmr' has the folling form:
int status = qmr(a, x, b, EYE, EYE, 100, 1e-7);

**DESCRIPTION**

**qmr** solves the unsymmetric linear system Ax = b using the the quasi-
minimal residual method.
The return value indicates convergence within max_iter (input)
iterations (0), or no convergence within max_iter iterations (1). Upon
successful return, output arguments have the following values:
**x** approximate solution to Ax = b
**max_iter**
the number of iterations performed before the tolerance was
reached
**tol** the residual after the final iteration
A return value of 1 indicates that the method did not reach the
specified convergence tolerance in the maximum numbefr of iterations.
A return value of 2 indicates that a breackdown associated with **rho**
occurred. A return value of 3 indicates that a breackdown associated
with **beta** occurred. A return value of 4 indicates that a breackdown
associated with **gamma** occurred. A return value of 5 indicates that a
breackdown associated with **delta** occurred. A return value of 6
indicates that a breackdown associated with **epsilon** occurred. A return
value of 7 indicates that a breackdown associated with **xi** occurred.

**NOTE**

**qmr** is an iterative template routine.
**qmr** follows the algorithm described on p. 24 in @quotation Templates
for the Solution of Linear Systems: Building Blocks for Iterative
Methods, 2nd Edition, R. Barrett, M. Berry, T. F. Chan, J. Demmel, J.
Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, H. Van der Vorst,
SIAM, 1994, **ftp.netlib.org/templates/templates.ps**. @end quotation
The present implementation is inspired from **IML++** **1.2** iterative method
library, **http://math.nist.gov/iml++**.