Provided by: librheolef-dev_5.93-2_i386 bug

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