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.

48 lines
2.1 KiB

  1. // This file is part of Eigen, a lightweight C++ template library
  2. // for linear algebra.
  3. //
  4. // This Source Code Form is subject to the terms of the Mozilla
  5. // Public License v. 2.0. If a copy of the MPL was not distributed
  6. // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
  7. #ifndef STORMEIGEN_ITERATIVELINEARSOLVERS_MODULE_H
  8. #define STORMEIGEN_ITERATIVELINEARSOLVERS_MODULE_H
  9. #include "SparseCore"
  10. #include "OrderingMethods"
  11. #include "src/Core/util/DisableStupidWarnings.h"
  12. /**
  13. * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
  14. *
  15. * 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.
  16. * Those solvers are accessible via the following classes:
  17. * - ConjugateGradient for selfadjoint (hermitian) matrices,
  18. * - LeastSquaresConjugateGradient for rectangular least-square problems,
  19. * - BiCGSTAB for general square matrices.
  20. *
  21. * These iterative solvers are associated with some preconditioners:
  22. * - IdentityPreconditioner - not really useful
  23. * - DiagonalPreconditioner - also called Jacobi preconditioner, work very well on diagonal dominant matrices.
  24. * - IncompleteLUT - incomplete LU factorization with dual thresholding
  25. *
  26. * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
  27. *
  28. \code
  29. #include <StormEigen/IterativeLinearSolvers>
  30. \endcode
  31. */
  32. #include "src/IterativeLinearSolvers/SolveWithGuess.h"
  33. #include "src/IterativeLinearSolvers/IterativeSolverBase.h"
  34. #include "src/IterativeLinearSolvers/BasicPreconditioners.h"
  35. #include "src/IterativeLinearSolvers/ConjugateGradient.h"
  36. #include "src/IterativeLinearSolvers/LeastSquareConjugateGradient.h"
  37. #include "src/IterativeLinearSolvers/BiCGSTAB.h"
  38. #include "src/IterativeLinearSolvers/IncompleteLUT.h"
  39. #include "src/IterativeLinearSolvers/IncompleteCholesky.h"
  40. #include "src/Core/util/ReenableStupidWarnings.h"
  41. #endif // STORMEIGEN_ITERATIVELINEARSOLVERS_MODULE_H