2015-10-26 11:46:05 +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/.
|
|
|
|
|
|
2011-11-12 15:22:35 +01:00
|
|
|
#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
|
|
|
|
|
#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
|
|
|
|
|
|
|
|
|
|
#include "SparseCore"
|
2012-02-14 22:07:19 +01:00
|
|
|
#include "OrderingMethods"
|
2011-11-12 15:22:35 +01:00
|
|
|
|
2011-11-16 09:27:38 +01:00
|
|
|
#include "src/Core/util/DisableStupidWarnings.h"
|
2011-11-12 15:22:35 +01: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 16:37:11 +01:00
|
|
|
/**
|
2011-11-12 15:22:35 +01: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-02 19:02:49 +01:00
|
|
|
* - ConjugateGradient for selfadjoint (hermitian) matrices,
|
2015-03-05 10:16:32 +01:00
|
|
|
* - LeastSquaresConjugateGradient for rectangular least-square problems,
|
2011-11-12 15:22:35 +01:00
|
|
|
* - BiCGSTAB for general square matrices.
|
|
|
|
|
*
|
2012-02-14 22:07:19 +01:00
|
|
|
* These iterative solvers are associated with some preconditioners:
|
|
|
|
|
* - IdentityPreconditioner - not really useful
|
2015-03-31 22:54:47 +02:00
|
|
|
* - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices.
|
2015-03-04 09:34:27 +01:00
|
|
|
* - IncompleteLUT - incomplete LU factorization with dual thresholding
|
2012-02-14 22:07:19 +01:00
|
|
|
*
|
2022-03-08 00:09:18 +00:00
|
|
|
* Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport,
|
|
|
|
|
UmfPackSupport, SuperLUSupport, AccelerateSupport.
|
2011-11-12 15:22:35 +01:00
|
|
|
*
|
2015-03-04 09:34:27 +01:00
|
|
|
\code
|
|
|
|
|
#include <Eigen/IterativeLinearSolvers>
|
|
|
|
|
\endcode
|
2011-11-12 15:22:35 +01:00
|
|
|
*/
|
|
|
|
|
|
2023-02-08 17:40:31 +00:00
|
|
|
// IWYU pragma: begin_exports
|
2014-09-01 15:00:19 +02:00
|
|
|
#include "src/IterativeLinearSolvers/SolveWithGuess.h"
|
2011-11-12 15:22:35 +01:00
|
|
|
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
|
|
|
|
|
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
|
|
|
|
|
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
|
2015-03-04 09:34:27 +01:00
|
|
|
#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
|
2011-11-12 15:22:35 +01:00
|
|
|
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
|
2012-02-10 10:59:39 +01:00
|
|
|
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
|
2015-10-08 11:32:46 +02:00
|
|
|
#include "src/IterativeLinearSolvers/IncompleteCholesky.h"
|
2023-02-08 17:40:31 +00:00
|
|
|
// IWYU pragma: end_exports
|
2011-11-12 15:22:35 +01:00
|
|
|
|
2011-11-16 09:27:38 +01:00
|
|
|
#include "src/Core/util/ReenableStupidWarnings.h"
|
2011-11-12 15:22:35 +01:00
|
|
|
|
|
|
|
|
#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
|