| 
									
										
										
										
											2015-10-26 18:46:05 +08: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 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-05 17:16:32 +08:00
										 |  |  |   *  - LeastSquaresConjugateGradient 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 | 
					
						
							| 
									
										
										
										
											2015-04-01 04:54:47 +08:00
										 |  |  |   *  - 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
										 |  |  |   * | 
					
						
							| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  |   * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, | 
					
						
							|  |  |  |   UmfPackSupport, SuperLUSupport, AccelerateSupport. | 
					
						
							| 
									
										
										
										
											2011-11-12 22:22:35 +08:00
										 |  |  |   * | 
					
						
							| 
									
										
										
										
											2015-03-04 16:34:27 +08:00
										 |  |  |     \code | 
					
						
							|  |  |  |     #include <Eigen/IterativeLinearSolvers> | 
					
						
							|  |  |  |     \endcode | 
					
						
							| 
									
										
										
										
											2011-11-12 22:22:35 +08:00
										 |  |  |   */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-09 01:40:31 +08:00
										 |  |  | // IWYU pragma: begin_exports | 
					
						
							| 
									
										
										
										
											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" | 
					
						
							| 
									
										
										
										
											2015-10-08 17:32:46 +08:00
										 |  |  | #include "src/IterativeLinearSolvers/IncompleteCholesky.h" | 
					
						
							| 
									
										
										
										
											2023-02-09 01:40:31 +08:00
										 |  |  | // IWYU pragma: end_exports | 
					
						
							| 
									
										
										
										
											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 |