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


Category:itl,algorithms Component type:function
Prototype
template <class Matrix, class Vector, class VectorB, class Preconditioner, class Iteration>
int bicgstab(const Matrix& A, Vector& x, const VectorB& b, const Preconditioner& M, Iteration& iter) ;
Description
A return value of 0 indicates convergence within the maximum number of iterations (determined by the iter object). A return value of 1 indicates a failure to converge.

See: H. Van der Vorst, Bi-CGSTAB: A fast and smoothly converging variant of BiCG for the solution of nonsysmmetric linear systems, SIAM J. Sci. Statist. Comput. 13(1992), pp. 631-644

Definition
bicgstab.h
Preconditions
Complexity
Example
In bicgstab.cc:
typedef matrix< Type, rectangle<>, 
	        array< compressed<> >, 
                row_major >::type Matrix;
  Matrix A(5, 5);
  dense1D<Type> x(A.nrows(), Type(0));
  dense1D<Type> b(A.ncols());
  for (dense1D<Type>::iterator i=b.begin(); i!=b.end(); i++)
    *i = 1.;
  //SSOR preconditioner
  SSOR<Matrix> precond(A);
  //iteration
  noisy_iteration<double> iter(b, max_iter, 1e-6);
  //bicgstab algorithm
  bicgstab(A, x, b, precond(), iter);

Notes
See also

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