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