:orphan: # KSPFBCGS Implements the flexible BiCGStab method. [](sec_flexibleksp) ## Notes Flexible BiCGStab, unlike most Krylov methods allows the preconditioner to be nonlinear, that is the action of the preconditioner to a vector need not be linear in the vector entries. `KSPFBCGSR` provides another variant of this algorithm that requires fewer `MPI_Allreduce()` calls and my converge faster See `KSPPIPEBCGS` for a pipelined version of the algorithm Only supportst right preconditioning ## See Also [](ch_ksp), [](sec_flexibleksp), `KSPFBCGSR`, `KSPPIPEBCGS`, `KSPBCGSL`, `KSPFBCGS`, `KSPCreate()`, `KSPFGMRES`, `KSPSetType()`, `KSPType`, `KSP`, `KSPBICG`, `KSPSetPCSide()` ## Level beginner ## Location src/ksp/ksp/impls/bcgs/fbcgs/fbcgs.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/bcgs/fbcgs/fbcgs.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)