Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / ground / gcs / src / libs / eigen / Eigen / PaStiXSupport
blobde3a63b4d1264e6fa8c15582b702c13ddf8e195d
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/.
8 #ifndef EIGEN_PASTIXSUPPORT_MODULE_H
9 #define EIGEN_PASTIXSUPPORT_MODULE_H
11 #include "SparseCore"
13 #include "src/Core/util/DisableStupidWarnings.h"
15 extern "C" {
16 #include <pastix_nompi.h>
17 #include <pastix.h>
20 #ifdef complex
21 #undef complex
22 #endif
24 /** \ingroup Support_modules
25   * \defgroup PaStiXSupport_Module PaStiXSupport module
26   * 
27   * This module provides an interface to the <a href="http://pastix.gforge.inria.fr/">PaSTiX</a> library.
28   * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver.
29   * It provides the two following main factorization classes:
30   * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization.
31   * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization.
32   * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern).
33   * 
34   * \code
35   * #include <Eigen/PaStiXSupport>
36   * \endcode
37   *
38   * In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be linked to the PaSTiX library and its dependencies.
39   * The dependencies depend on how PaSTiX has been compiled.
40   * For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task.
41   *
42   */
44 #include "src/PaStiXSupport/PaStiXSupport.h"
46 #include "src/Core/util/ReenableStupidWarnings.h"
48 #endif // EIGEN_PASTIXSUPPORT_MODULE_H