SparseCholesky 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // This file is part of Eigen, a lightweight C++ template library
  2. // for linear algebra.
  3. //
  4. // Copyright (C) 2008-2013 Gael Guennebaud <gael.guennebaud@inria.fr>
  5. //
  6. // This Source Code Form is subject to the terms of the Mozilla
  7. // Public License v. 2.0. If a copy of the MPL was not distributed
  8. // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
  9. #ifndef EIGEN_SPARSECHOLESKY_MODULE_H
  10. #define EIGEN_SPARSECHOLESKY_MODULE_H
  11. #include "SparseCore"
  12. #include "OrderingMethods"
  13. #include "src/Core/util/DisableStupidWarnings.h"
  14. /**
  15. * \defgroup SparseCholesky_Module SparseCholesky module
  16. *
  17. * This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices.
  18. * Those decompositions are accessible via the following classes:
  19. * - SimplicialLLt,
  20. * - SimplicialLDLt
  21. *
  22. * Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module.
  23. *
  24. * \code
  25. * #include <Eigen/SparseCholesky>
  26. * \endcode
  27. */
  28. #ifdef EIGEN_MPL2_ONLY
  29. #error The SparseCholesky module has nothing to offer in MPL2 only mode
  30. #endif
  31. #include "src/SparseCholesky/SimplicialCholesky.h"
  32. #ifndef EIGEN_MPL2_ONLY
  33. #include "src/SparseCholesky/SimplicialCholesky_impl.h"
  34. #endif
  35. #include "src/Core/util/ReenableStupidWarnings.h"
  36. #endif // EIGEN_SPARSECHOLESKY_MODULE_H