| ||||||||||||||
| ||||||||||||||
![]() | ||||||||||||||
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.
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 | ||||||||||||||
Copyright ©
1998,1999 University of Notre Dame. All Rights Reserved.