|
Classes |
class | BlockTrianglePrecondition< number > |
class | PreconditionLU< number > |
class | PreconditionIdentity |
class | PreconditionRichardson |
class | PreconditionUseMatrix< MATRIX, VECTOR > |
class | PreconditionRelaxation< MATRIX > |
class | PreconditionJacobi< MATRIX > |
class | PreconditionSOR< MATRIX > |
class | PreconditionSSOR< MATRIX > |
class | PreconditionPSOR< MATRIX > |
class | PreconditionLACSolver< SOLVER, MATRIX, PRECONDITION > |
class | PreconditionedMatrix< MATRIX, PRECOND, VECTOR > |
class | PreconditionBlock< MATRIX, inverse_type > |
class | PreconditionBlockJacobi< MATRIX, inverse_type > |
class | PreconditionBlockSOR< MATRIX, inverse_type > |
class | PreconditionBlockSSOR< MATRIX, inverse_type > |
class | PreconditionSelector< Matrix, Vector > |
class | SparseLUDecomposition< number > |
class | SparseDirectMA27 |
class | SparseDirectMA47 |
class | SparseDirectUMFPACK |
class | SparseILU< number > |
class | SparseMIC< number > |
class | SparseVanka< number > |
class | SparseBlockVanka< number > |
class | TrilinosWrappers::PreconditionBase |
class | TrilinosWrappers::PreconditionJacobi |
class | TrilinosWrappers::PreconditionSSOR |
class | TrilinosWrappers::PreconditionSOR |
class | TrilinosWrappers::PreconditionIC |
class | TrilinosWrappers::PreconditionILU |
class | TrilinosWrappers::PreconditionILUT |
class | TrilinosWrappers::PreconditionBlockwiseDirect |
class | TrilinosWrappers::PreconditionChebyshev |
class | TrilinosWrappers::PreconditionAMG |
class | TrilinosWrappers::PreconditionBlockBase |
class | TrilinosWrappers::PreconditionStokes |
Detailed Description
Preconditioners are used to accelerate the iterative solution of linear systems. Typical preconditioners are Jacobi, Gauss-Seidel, or SSOR, but the library also supports more complex ones such as Vanka or incomplete LU decompositions (ILU). In addition, sparse direct solvers can be used as preconditioners when available.
In principle, and in the mathematical literature, preconditioners are treated as matrices in the sense that one can do a matrix-vector multiplication with them. On the other hand, one doesn't usually have an element-by-element representation of these matrices, only their action on a vector. The preconditioner classes therefore often have a vmult()
function that symbolizes the ability to perform matrix-vector multiplications, just like the real matrix classes.