You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.6 KiB

  1. #ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
  2. #define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
  3. #include "SparseCore"
  4. #include "OrderingMethods"
  5. #include "src/Core/util/DisableStupidWarnings.h"
  6. /** \ingroup Sparse_modules
  7. * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
  8. *
  9. * 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.
  10. * Those solvers are accessible via the following classes:
  11. * - ConjugateGradient for selfadjoint (hermitian) matrices,
  12. * - BiCGSTAB for general square matrices.
  13. *
  14. * These iterative solvers are associated with some preconditioners:
  15. * - IdentityPreconditioner - not really useful
  16. * - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
  17. * - IncompleteILUT - incomplete LU factorization with dual thresholding
  18. *
  19. * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
  20. *
  21. * \code
  22. * #include <Eigen/IterativeLinearSolvers>
  23. * \endcode
  24. */
  25. #include "src/misc/Solve.h"
  26. #include "src/misc/SparseSolve.h"
  27. #include "src/IterativeLinearSolvers/IterativeSolverBase.h"
  28. #include "src/IterativeLinearSolvers/BasicPreconditioners.h"
  29. #include "src/IterativeLinearSolvers/ConjugateGradient.h"
  30. #include "src/IterativeLinearSolvers/BiCGSTAB.h"
  31. #include "src/IterativeLinearSolvers/IncompleteLUT.h"
  32. #include "src/Core/util/ReenableStupidWarnings.h"
  33. #endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H