BiCGStab#
Source: solvers/bicgstab.py
Matrix-free BiCGStab linear solver for the implicit Newton step.
A short-recurrence alternative to GMRES (no growing Krylov basis, so
a bounded per-iteration memory), two matvecs per iteration. Like GMRES it
is matrix-free (applies J.v via Matvec) and configured as a Newton
linear_solver. Has no restart width (the max_its budget bounds
the iteration count).
Other options#
max_its—int· default1000Maximum inner (Krylov) iterations per Newton step
abs_tol—float· default0.0Absolute inner-residual tolerance (0 disables the absolute test)
rel_tol—float· default0.0001Relative inner-residual tolerance. Loose is fine (and faster): the outer Newton re-solves each step, so an inexact inner solve still converges – tighten only for stiff/ill-conditioned systems
preconditioner—strPreconditioner object (a [Solvers] NoPreconditioner / Jacobi / BlockJacobi / FullPreconditioner); unset = no preconditioner
cache_strategy—str· defaultnonePreconditioner rebuild policy across Newton iterations: none (rebuild each step) | chord (build once, reuse) | max_its (rebuild when a solve exceeds cache_max_its iterations)
cache_max_its—int· default10Iteration bar that triggers a preconditioner rebuild under the max_its cache strategy