KSPIBCGS#

Implements the IBiCGStab (Improved Stabilized version of BiConjugate Gradient) method [YB02] in an alternative form to have only a single global reduction operation instead of the usual 3 (or 4)

Notes#

Supports left and right preconditioning

See KSPBCGSL for additional stabilization

Unlike the Bi-CG-stab algorithm, this requires one multiplication be the transpose of the operator before the iteration starts.

The paper has two errors in the algorithm presented, they are fixed in the code in KSPSolve_IBCGS()

For maximum reduction in the number of global reduction operations, this solver should be used with KSPSetLagNorm().

This is not supported for complex numbers.

References#

YB02

Laurence T. Yang and Richard Brent. The improved BiCGStab method for large and sparse unsymmetric linear systems on parallel distributed memory architectures. In Proceedings of the Fifth International Conference on Algorithms and Architectures for Parallel Processing. IEEE, 2002.

See Also#

KSP: Linear System Solvers, KSPCreate(), KSPSetType(), KSPType, KSP, KSPBICG, KSPBCGSL, KSPIBCGS, KSPSetLagNorm()

Level#

beginner

Location#

src/ksp/ksp/impls/ibcgs/ibcgs.c


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