bicgstab 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.cpp:
```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