Skip to main content
`Ctrl`+`K`

# KSPBCGS

Implements the BiCGStab (Stabilized version of Biconjugate Gradient) method [vdV92]

## Notes

Supports left and right preconditioning but not symmetric

See `KSPBCGSL` for additional stabilization

See `KSPFBCGS`, `KSPFBCGSR`, and `KSPPIPEBCGS` for flexible and pipelined versions of the algorithm

This method can be a good alternative to `KSPGMRES` in that it does not require explicitly storing the Krylov space as `KSPGMRES` requires and there is no acceptable restart value that can be set with `KSPGMRESSetRestart()` that balances cost per iteration and convergence rates with `KSPGMRES`.

## References

[vdV92]

H. van der Vorst. Bi-CGSTAB: a fast and smoothly converging variant of Bi-CG for the solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comput., 13:631–644, 1992.

## See Also

KSP: Linear System Solvers, `KSPFBCGS`, `KSPFBCGSR`, `KSPPIPEBCGS`, `KSPBCGSL`, `KSPCreate()`, `KSPSetType()`, `KSPType`, `KSP`, `KSPBICG`, `KSPFBICG`, `KSPQMRCGS`, `KSPSetPCSide()`

## Level

beginner

## Location

src/ksp/ksp/impls/bcgs/bcgs.c

## Examples

src/ksp/ksp/tutorials/ex7.c
src/ksp/ksp/tutorials/ex7f.F90

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages