tfqmr [MTL Home] Programmers Guide
  Contents | Index |  Search 


Category:itl,algorithms Component type:function
Prototype
template <class Matrix, class Vector, class VectorB, class Precond1, class Precond2, class Iteration>
int tfqmr(const Matrix& A, Vector& x, const VectorB& b, const Precond1& M1, const Precond2& M2, Iteration& iter) ;
Description
Transpose free QMR. First solve Q_1 A Q_2 x = Q_1 b. Then, return z which is Q_2 x. Here Q1 and Q2 are precondtioners. Suppose M is about equal to A and M = M_1 * M_2, then Q_1 = M_1^{-1} and Q_2 = M_2^{-1}

The residual holds |b - A * x_m| < sqrt{m+1} * tau_m. The algorithm check the latter to see if convergence arrives instead of checking real residual.

return value meaning
0 convergence within maximum iterations
1 no convergence after maximum iterations
2 breakdown in tau
3 breakdown in alpha
4 breakdown in gamma
5 breakdown in rho

See: R. W. Freund, A Transpose-Free Quasi-Minimal Residual algorithm for non-Hermitian linear system. SIAM J. on Sci. Comp. 14(1993), pp. 470-482

Definition
tfqmr.h
Preconditions
Complexity
Example
Notes
See also

[MTL Home] Copyright © 1998,1999 University of Notre Dame. All Rights Reserved.