gko::preconditioner#
Preconditioners: operators applied alongside a solver to accelerate
convergence. Each one is a LinOp that takes a system matrix at
generation time and applies an approximate inverse on apply. For
how to wire a preconditioner into a Krylov solver see the
Solver / preconditioner picker.
Diagonal-block / pointwise#
Jacobi: block-Jacobi (and pointwise Jacobi as themax_block_size = 1special case).
Incomplete factorisations#
Relaxation methods#
GaussSeidel: Gauss-Seidel; theω = 1special case of SOR.Sor: Successive Over-Relaxation (and Symmetric SOR).
Wrappers#
NullspaceProjection: wraps a preconditioner \(M\) as \(P\,M\,Q\), removing a nullspace from its output (and optionally a left nullspace from its input).Cg,Fcg,Minres,GmresandBicgstabinsert it automatically when theirnullspaceparameter is set; it can also be used by hand as the preconditioner of another solver. See Singular systems and nullspaces.