2017-01-25 20:05:31 +01:00
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
2012-10-05 09:27:34 +02:00
#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#include "SparseCore"
#include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
2014-05-14 17:20:00 +02:00
/**
2012-10-05 09:27:34 +02:00
* \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:
* - ConjugateGradient for selfadjoint (hermitian) matrices,
2017-01-25 20:05:31 +01:00
* - LeastSquaresConjugateGradient for rectangular least-square problems,
2012-10-05 09:27:34 +02:00
* - BiCGSTAB for general square matrices.
*
* These iterative solvers are associated with some preconditioners:
* - IdentityPreconditioner - not really useful
2017-01-25 20:05:31 +01:00
* - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices.
* - IncompleteLUT - incomplete LU factorization with dual thresholding
2012-10-05 09:27:34 +02:00
*
* Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
*
2017-01-25 20:05:31 +01:00
\code
#include <Eigen/IterativeLinearSolvers>
\endcode
2012-10-05 09:27:34 +02:00
*/
2017-01-25 20:05:31 +01:00
#include "src/IterativeLinearSolvers/SolveWithGuess.h"
2012-10-05 09:27:34 +02:00
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
2017-01-25 20:05:31 +01:00
#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
2012-10-05 09:27:34 +02:00
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
2017-01-25 20:05:31 +01:00
#include "src/IterativeLinearSolvers/IncompleteCholesky.h"
2012-10-05 09:27:34 +02:00
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H