1*bf2c3715SXin Li// This file is part of Eigen, a lightweight C++ template library 2*bf2c3715SXin Li// for linear algebra. 3*bf2c3715SXin Li// 4*bf2c3715SXin Li// This Source Code Form is subject to the terms of the Mozilla 5*bf2c3715SXin Li// Public License v. 2.0. If a copy of the MPL was not distributed 6*bf2c3715SXin Li// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 7*bf2c3715SXin Li 8*bf2c3715SXin Li#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 9*bf2c3715SXin Li#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 10*bf2c3715SXin Li 11*bf2c3715SXin Li#include "SparseCore" 12*bf2c3715SXin Li#include "OrderingMethods" 13*bf2c3715SXin Li 14*bf2c3715SXin Li#include "src/Core/util/DisableStupidWarnings.h" 15*bf2c3715SXin Li 16*bf2c3715SXin Li/** 17*bf2c3715SXin Li * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module 18*bf2c3715SXin Li * 19*bf2c3715SXin Li * 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. 20*bf2c3715SXin Li * Those solvers are accessible via the following classes: 21*bf2c3715SXin Li * - ConjugateGradient for selfadjoint (hermitian) matrices, 22*bf2c3715SXin Li * - LeastSquaresConjugateGradient for rectangular least-square problems, 23*bf2c3715SXin Li * - BiCGSTAB for general square matrices. 24*bf2c3715SXin Li * 25*bf2c3715SXin Li * These iterative solvers are associated with some preconditioners: 26*bf2c3715SXin Li * - IdentityPreconditioner - not really useful 27*bf2c3715SXin Li * - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices. 28*bf2c3715SXin Li * - IncompleteLUT - incomplete LU factorization with dual thresholding 29*bf2c3715SXin Li * 30*bf2c3715SXin Li * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport. 31*bf2c3715SXin Li * 32*bf2c3715SXin Li \code 33*bf2c3715SXin Li #include <Eigen/IterativeLinearSolvers> 34*bf2c3715SXin Li \endcode 35*bf2c3715SXin Li */ 36*bf2c3715SXin Li 37*bf2c3715SXin Li#include "src/IterativeLinearSolvers/SolveWithGuess.h" 38*bf2c3715SXin Li#include "src/IterativeLinearSolvers/IterativeSolverBase.h" 39*bf2c3715SXin Li#include "src/IterativeLinearSolvers/BasicPreconditioners.h" 40*bf2c3715SXin Li#include "src/IterativeLinearSolvers/ConjugateGradient.h" 41*bf2c3715SXin Li#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h" 42*bf2c3715SXin Li#include "src/IterativeLinearSolvers/BiCGSTAB.h" 43*bf2c3715SXin Li#include "src/IterativeLinearSolvers/IncompleteLUT.h" 44*bf2c3715SXin Li#include "src/IterativeLinearSolvers/IncompleteCholesky.h" 45*bf2c3715SXin Li 46*bf2c3715SXin Li#include "src/Core/util/ReenableStupidWarnings.h" 47*bf2c3715SXin Li 48*bf2c3715SXin Li#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 49