Solvers for linear systems. More...
Classes | |
| class | concepts::BiCGStab< F, G > |
| Solves a symmetric system of linear equations with BiConjugate Gradient Stabilized (BICGSTAB). More... | |
| class | concepts::CG< F > |
| Solves a symmetric system of linear equations with conjugate gradients (CG). More... | |
| class | concepts::Constrained |
| Solves a linear system of equations subject to linear constraints. More... | |
| class | concepts::DiagonalSolver< F > |
| A solver for diagonal matrices. More... | |
| class | concepts::GMRes< F > |
| Solves a system of linear equations with general minimal residuals (GMRes). More... | |
| class | concepts::Pardiso |
| Sparse direct solver for symmetric and unsymmetric matrices. More... | |
| class | concepts::PETSc |
| Interface to the iterative solvers of the PETSc library. More... | |
| class | concepts::PrecondSolverFabric< F, G > |
| Abstract fabric class for linear solvers with preconditoner. More... | |
| class | concepts::SolverFabric< F > |
| Abstract fabric class for linear solvers. More... | |
| class | concepts::SuperLU< F > |
| Direct sparse solver for unsymmetric matrices. More... | |
| class | concepts::Umfpack |
| Sparse direct solver for unsymmetric matrices. More... | |
Solvers for linear systems.
All solvers which are just an interface to an external solver require that the respective software package is installed and that the library is correctly configured to use it.
concepts::CG is an implementation of the conjugate gradient method.
concepts::GMRes is an implementation of the general minimal residual method.
concepts::PETSc is an interface to PETSc (web links in the class description) featuring many different iterative solvers and preconditioners.
concepts::SuperLU is an interface to SuperLU (web links in the class description), a sparse LU decomposition.
concepts::Pardiso is an interface to Pardiso (web links in the class description), a sparse decomposition (multithreaded if requested).
concepts::Umfpack is an interface to Umfpack (web links in the class description) using the unsymmetric multi-frontal method.
concepts::DiagonalSolver solves a diagonal linear system.
Most of the solvers have a respective fabric class derived from concepts::SolverFabric. The idea is that all parameters (like convergence criteria etc.) are given in the construction of the fabric and the solver itself is constructed by the fabric given the matrix. This construction call is the the same for all solvers as all parameters are known before.
concepts::Constrained is a solver for a system with (non-homogenous) linear constraints. It modifies the stiffness matrix and the right hand side such that the constraints are fulfilled, then the modified system is solved with a given solver (via a concepts::SolverFabric).