41 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
 | |
| #define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
 | |
| 
 | |
| #include "SparseCore"
 | |
| #include "OrderingMethods"
 | |
| 
 | |
| #include "src/Core/util/DisableStupidWarnings.h"
 | |
| 
 | |
| /** 
 | |
|   * \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,
 | |
|   *  - BiCGSTAB for general square matrices.
 | |
|   *
 | |
|   * These iterative solvers are associated with some preconditioners:
 | |
|   *  - IdentityPreconditioner - not really useful
 | |
|   *  - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
 | |
|   *  - IncompleteILUT - incomplete LU factorization with dual thresholding
 | |
|   *
 | |
|   * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
 | |
|   *
 | |
|   * \code
 | |
|   * #include <Eigen/IterativeLinearSolvers>
 | |
|   * \endcode
 | |
|   */
 | |
| 
 | |
| #include "src/misc/Solve.h"
 | |
| #include "src/misc/SparseSolve.h"
 | |
| 
 | |
| #include "src/IterativeLinearSolvers/IterativeSolverBase.h"
 | |
| #include "src/IterativeLinearSolvers/BasicPreconditioners.h"
 | |
| #include "src/IterativeLinearSolvers/ConjugateGradient.h"
 | |
| #include "src/IterativeLinearSolvers/BiCGSTAB.h"
 | |
| #include "src/IterativeLinearSolvers/IncompleteLUT.h"
 | |
| 
 | |
| #include "src/Core/util/ReenableStupidWarnings.h"
 | |
| 
 | |
| #endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
 |