gko::solver#

Iterative and direct linear solvers. Every solver is a LinOp that takes a system matrix and a stopping criterion, and exposes a typed Factory produced by the build() method. For the high-level taxonomy and how to pick a solver see the Solvers overview concept page.

Krylov — symmetric / SPD systems#

  • Cg — conjugate gradient.

  • Fcg — flexible conjugate gradient (variable preconditioner).

  • PipeCg — pipelined CG (overlapped reductions).

  • Minres — minimum residual (symmetric indefinite).

Krylov — non-symmetric systems#

  • Bicg — biconjugate gradient.

  • Bicgstab — stabilised biconjugate gradient.

  • Cgs — conjugate gradient squared.

  • Gmres — generalised minimal residual.

  • CbGmres — compressed-basis GMRES (mixed precision).

  • Idr — induced dimension reduction.

  • Gcr — generalised conjugate residual.

Stationary and miscellaneous#

  • Ir — iterative refinement / Richardson iteration.

  • Chebyshev — Chebyshev iteration.

Triangular substitution#

Direct (factorisation-based)#

Multigrid#

  • Multigrid — geometric / algebraic multigrid framework.