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 /** \ingroup Sparse_modules 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