53 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// 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/.
 | 
						|
 | 
						|
#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,
 | 
						|
  *  - LeastSquaresConjugateGradient for rectangular least-square problems,
 | 
						|
  *  - 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.
 | 
						|
  *  - IncompleteLUT - incomplete LU factorization with dual thresholding
 | 
						|
  *
 | 
						|
  * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport,
 | 
						|
  UmfPackSupport, SuperLUSupport, AccelerateSupport.
 | 
						|
  *
 | 
						|
    \code
 | 
						|
    #include <Eigen/IterativeLinearSolvers>
 | 
						|
    \endcode
 | 
						|
  */
 | 
						|
 | 
						|
// IWYU pragma: begin_exports
 | 
						|
#include "src/IterativeLinearSolvers/SolveWithGuess.h"
 | 
						|
#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
 | 
						|
#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
 | 
						|
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
 | 
						|
#include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
 | 
						|
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
 | 
						|
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
 | 
						|
#include "src/IterativeLinearSolvers/IncompleteCholesky.h"
 | 
						|
// IWYU pragma: end_exports
 | 
						|
 | 
						|
#include "src/Core/util/ReenableStupidWarnings.h"
 | 
						|
 | 
						|
#endif  // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
 |