2011-11-12 22:22:35 +08:00
#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#include "SparseCore"
2012-02-15 05:07:19 +08:00
#include "OrderingMethods"
2011-11-12 22:22:35 +08:00
2011-11-16 16:27:38 +08:00
#include "src/Core/util/DisableStupidWarnings.h"
2011-11-12 22:22:35 +08:00
/** \ingroup Sparse_modules
* \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
*
* 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.
* Those solvers are accessible via the following classes:
2011-12-03 02:02:49 +08:00
* - ConjugateGradient for selfadjoint (hermitian) matrices,
2011-11-12 22:22:35 +08:00
* - BiCGSTAB for general square matrices.
*
2012-02-15 05:07:19 +08:00
* These iterative solvers are associated with some preconditioners:
* - IdentityPreconditioner - not really useful
* - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
* - IncompleteILUT - incomplete LU factorization with dual thresholding
*
2011-11-12 22:22:35 +08:00
* Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
*
* \code
* #include <Eigen/IterativeLinearSolvers>
* \endcode
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
2012-02-10 17:59:39 +08:00
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
2011-11-12 22:22:35 +08:00
2011-11-16 16:27:38 +08:00
#include "src/Core/util/ReenableStupidWarnings.h"
2011-11-12 22:22:35 +08:00
#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H