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