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