Home | History | Annotate | Download | only in Eigen
      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