Engee documentation

IterativeSolvers Preconditioning

Many iterative solvers have the option to provide left and right preconditioners (Pl and Pr resp.) in order to speed up convergence or prevent stagnation. They transform a problem into a better conditioned system , where .

These preconditioners should support the operations

  • ldiv!(y, P, x) computes P \ x in-place of y;

  • ldiv!(P, x) computes P \ x in-place of x;

  • and P \ x.

If no preconditioners are passed to the solver, the method will default to

Pl = Pr = IterativeSolvers.Identity()

Available preconditioners

IterativeSolvers.jl itself does not provide any other preconditioners besides Identity(), but recommends the following external packages: