2011-11-12 22:22:35 +08:00
#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
#include "SparseCore"
2012-02-15 05:07:19 +08:00
#include "OrderingMethods"
2011-11-12 22:22:35 +08:00
2011-11-16 16:27:38 +08:00
#include "src/Core/util/DisableStupidWarnings.h"
2011-11-12 22:22:35 +08:00
Big changes in Eigen documentation:
- Organize the documentation into "chapters".
- Each chapter include many documentation pages, reference pages organized as modules, and a quick reference page.
- The "Chapters" tree is created using the defgroup/ingroup mechanism, even for the documentation pages (i.e., .dox files for which I added an \eigenManualPage macro that we can switch between \page or \defgroup ).
- Add a "General topics" entry for all pages that do not fit well in the previous "chapters".
- The highlevel struture is managed by a new eigendoxy_layout.xml file.
- remove the "index" and quite useless pages (namespace list, class hierarchy, member list, file list, etc.)
- add the javascript search-engine.
- add the "treeview" panel.
- remove \tableofcontents (replace them by a custom \eigenAutoToc macro to be able to easily re-enable if needed).
- add javascript to automatically generate a TOC from the h1/h2 tags of the current page, and put the TOC in the left side panel.
- overload various javascript function generated by doxygen to:
- remove the root of the treeview
- remove links to section/subsection from the treeview
- automatically expand the "Chapters" section
- automatically expand the current section
- adjust the height of the treeview to take into account the TOC
- always use the default .css file, eigendoxy.css now only includes our modifications
- use Doxyfile to specify our logo
- remove cross references to unsupported modules (temporarily)
2013-01-05 23:37:11 +08:00
/**
2011-11-12 22:22:35 +08: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:
2011-12-03 02:02:49 +08:00
* - ConjugateGradient for selfadjoint (hermitian) matrices,
2015-03-04 16:34:27 +08:00
* - LSCG for rectangular least-square problems,
2011-11-12 22:22:35 +08:00
* - BiCGSTAB for general square matrices.
*
2012-02-15 05:07:19 +08:00
* These iterative solvers are associated with some preconditioners:
* - IdentityPreconditioner - not really useful
* - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
2015-03-04 16:34:27 +08:00
* - IncompleteLUT - incomplete LU factorization with dual thresholding
2012-02-15 05:07:19 +08:00
*
2011-11-12 22:22:35 +08:00
* Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
*
2015-03-04 16:34:27 +08:00
\code
#include <Eigen/IterativeLinearSolvers>
\endcode
2011-11-12 22:22:35 +08:00
*/
2014-09-01 21:00:19 +08:00
#include "src/IterativeLinearSolvers/SolveWithGuess.h"
2011-11-12 22:22:35 +08:00
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
2015-03-04 16:34:27 +08:00
#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
2011-11-12 22:22:35 +08:00
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
2012-02-10 17:59:39 +08:00
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
2011-11-12 22:22:35 +08:00
2011-11-16 16:27:38 +08:00
#include "src/Core/util/ReenableStupidWarnings.h"
2011-11-12 22:22:35 +08:00
#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H