1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// This file is part of Eigen, a lightweight C++ template library
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// for linear algebra.
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath//
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Copyright (C) 2008-2009 Gael Guennebaud <g.gael@free.fr>
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath//
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// This Source Code Form is subject to the terms of the Mozilla
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Public License v. 2.0. If a copy of the MPL was not distributed
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifndef EIGEN_ITERATIVE_SOLVERS_MODULE_H
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define EIGEN_ITERATIVE_SOLVERS_MODULE_H
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <Eigen/Sparse>
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
157faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez/**
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * \defgroup IterativeSolvers_Module Iterative solvers module
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * This module aims to provide various iterative linear and non linear solver algorithms.
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * It currently provides:
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  *  - a constrained conjugate gradient
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  *  - a Householder GMRES implementation
21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * \code
22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * #include <unsupported/Eigen/IterativeSolvers>
23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  * \endcode
24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  */
25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath//@{
26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "../../Eigen/src/misc/Solve.h"
28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "../../Eigen/src/misc/SparseSolve.h"
29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
307faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#ifndef EIGEN_MPL2_ONLY
31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "src/IterativeSolvers/IterationController.h"
32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "src/IterativeSolvers/ConstrainedConjGrad.h"
337faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#endif
347faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez
35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "src/IterativeSolvers/IncompleteLU.h"
36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "../../Eigen/Jacobi"
37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "../../Eigen/Householder"
38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "src/IterativeSolvers/GMRES.h"
397faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include "src/IterativeSolvers/IncompleteCholesky.h"
40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath//#include "src/IterativeSolvers/SSORPreconditioner.h"
417faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include "src/IterativeSolvers/MINRES.h"
42c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
43c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath//@}
44c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
45c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif // EIGEN_ITERATIVE_SOLVERS_MODULE_H
46