KLUSupport 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 EIGEN_KLUSUPPORT_MODULE_H
  8. #define EIGEN_KLUSUPPORT_MODULE_H
  9. #include <Eigen/SparseCore>
  10. #include <Eigen/src/Core/util/DisableStupidWarnings.h>
  11. extern "C" {
  12. #include <btf.h>
  13. #include <klu.h>
  14. }
  15. /** \ingroup Support_modules
  16. * \defgroup KLUSupport_Module KLUSupport module
  17. *
  18. * This module provides an interface to the KLU library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
  19. * It provides the following factorization class:
  20. * - class KLU: a sparse LU factorization, well-suited for circuit simulation.
  21. *
  22. * \code
  23. * #include <Eigen/KLUSupport>
  24. * \endcode
  25. *
  26. * In order to use this module, the klu and btf headers must be accessible from the include paths, and your binary must be linked to the klu library and its dependencies.
  27. * The dependencies depend on how umfpack has been compiled.
  28. * For a cmake based project, you can use our FindKLU.cmake module to help you in this task.
  29. *
  30. */
  31. #include "src/KLUSupport/KLUSupport.h"
  32. #include <Eigen/src/Core/util/ReenableStupidWarnings.h>
  33. #endif // EIGEN_KLUSUPPORT_MODULE_H