1 #ifndef EIGEN_PASTIXSUPPORT_MODULE_H 2 #define EIGEN_PASTIXSUPPORT_MODULE_H 3 4 #include "SparseCore" 5 6 #include "src/Core/util/DisableStupidWarnings.h" 7 8 #include <complex.h> 9 extern "C" { 10 #include <pastix_nompi.h> 11 #include <pastix.h> 12 } 13 14 #ifdef complex 15 #undef complex 16 #endif 17 18 /** \ingroup Support_modules 19 * \defgroup PaStiXSupport_Module PaStiXSupport module 20 * 21 * This module provides an interface to the <a href="http://pastix.gforge.inria.fr/">PaSTiX</a> library. 22 * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver. 23 * It provides the two following main factorization classes: 24 * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization. 25 * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization. 26 * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern). 27 * 28 * \code 29 * #include <Eigen/PaStiXSupport> 30 * \endcode 31 * 32 * 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. 33 * The dependencies depend on how PaSTiX has been compiled. 34 * For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task. 35 * 36 */ 37 38 #include "src/misc/Solve.h" 39 #include "src/misc/SparseSolve.h" 40 41 #include "src/PaStiXSupport/PaStiXSupport.h" 42 43 44 #include "src/Core/util/ReenableStupidWarnings.h" 45 46 #endif // EIGEN_PASTIXSUPPORT_MODULE_H 47