rocALUTION Preconditioners#

This document provides a category-wise listing of the preconditioners. All preconditioners support local operators. They can be used as a global preconditioner via block-jacobi scheme, which works locally on each interior matrix. To provide fast application, all preconditioners require extra memory to keep the approximated operator.

Member documentation, configuration routines, and usage notes for each class are on the rocALUTION API library page.

Code structure#

The preconditioners provide a solution to the system \(Mz = r\), where the solution \(z\) is either directly computed by the approximation scheme or iteratively obtained with \(z = 0\) initial guess.

rocalution::Preconditioner

Jacobi method#

rocalution::Jacobi

(Symmetric) Gauss-Seidel or (S)SOR method#

rocalution::GS, rocalution::SGS

Incomplete factorizations#

ILU#

rocalution::ILU

ILUT#

rocalution::ILUT

IC#

rocalution::IC

AI Chebyshev#

rocalution::AIChebyshev

FSAI#

rocalution::FSAI

SPAI#

rocalution::SPAI

TNS#

rocalution::TNS

MultiColored preconditioners#

rocalution::MultiColored

MultiColored (symmetric) Gauss-Seidel / (S)SOR#

rocalution::MultiColoredGS, rocalution::MultiColoredSGS

MultiColored power(q)-pattern method ILU(p,q)#

rocalution::MultiColoredILU

Multi-elimination incomplete LU#

rocalution::MultiElimination

Diagonal preconditioner for saddle-point problems#

rocalution::DiagJacobiSaddlePointPrecond

(Restricted) Additive Schwarz preconditioner#

rocalution::AS, rocalution::RAS

Block-Jacobi (MPI) preconditioner#

rocalution::BlockJacobi

Block preconditioner#

rocalution::BlockPreconditioner

Variable preconditioner#

rocalution::VariablePreconditioner