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++.
```