1#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
2#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
3
4#include "SparseCore"
5#include "OrderingMethods"
6
7#include "src/Core/util/DisableStupidWarnings.h"
8
9/**
10  * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
11  *
12  * This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse.
13  * Those solvers are accessible via the following classes:
14  *  - ConjugateGradient for selfadjoint (hermitian) matrices,
15  *  - BiCGSTAB for general square matrices.
16  *
17  * These iterative solvers are associated with some preconditioners:
18  *  - IdentityPreconditioner - not really useful
19  *  - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
20  *  - IncompleteILUT - incomplete LU factorization with dual thresholding
21  *
22  * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
23  *
24  * \code
25  * #include <Eigen/IterativeLinearSolvers>
26  * \endcode
27  */
28
29#include "src/misc/Solve.h"
30#include "src/misc/SparseSolve.h"
31
32#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
33#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
34#include "src/IterativeLinearSolvers/ConjugateGradient.h"
35#include "src/IterativeLinearSolvers/BiCGSTAB.h"
36#include "src/IterativeLinearSolvers/IncompleteLUT.h"
37
38#include "src/Core/util/ReenableStupidWarnings.h"
39
40#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
41