|  | #ifndef EIGEN_SPARSE_EXTRA_MODULE_H | 
|  | #define EIGEN_SPARSE_EXTRA_MODULE_H | 
|  |  | 
|  | #include "../Eigen/Sparse" | 
|  |  | 
|  | #include "src/Core/util/DisableMSVCWarnings.h" | 
|  |  | 
|  | #include <vector> | 
|  | #include <map> | 
|  | #include <cstdlib> | 
|  | #include <cstring> | 
|  | #include <algorithm> | 
|  |  | 
|  | #ifdef EIGEN_GOOGLEHASH_SUPPORT | 
|  | #include <google/dense_hash_map> | 
|  | #endif | 
|  |  | 
|  | namespace Eigen { | 
|  |  | 
|  | /** \defgroup SparseExtra_Module SparseExtra module | 
|  | * | 
|  | * This module contains some experimental features extending the sparse module. | 
|  | * | 
|  | * \code | 
|  | * #include <Eigen/SparseExtra> | 
|  | * \endcode | 
|  | */ | 
|  |  | 
|  | enum SparseBackend { | 
|  | DefaultBackend, | 
|  | Taucs, | 
|  | Cholmod, | 
|  | SuperLU, | 
|  | UmfPack | 
|  | }; | 
|  |  | 
|  | // solver flags | 
|  | enum { | 
|  | CompleteFactorization       = 0x0000,  // the default | 
|  | IncompleteFactorization     = 0x0001, | 
|  | MemoryEfficient             = 0x0002, | 
|  |  | 
|  | // For LLT Cholesky: | 
|  | SupernodalMultifrontal      = 0x0010, | 
|  | SupernodalLeftLooking       = 0x0020, | 
|  |  | 
|  | // Ordering methods: | 
|  | NaturalOrdering             = 0x0100, // the default | 
|  | MinimumDegree_AT_PLUS_A     = 0x0200, | 
|  | MinimumDegree_ATA           = 0x0300, | 
|  | ColApproxMinimumDegree      = 0x0400, | 
|  | Metis                       = 0x0500, | 
|  | Scotch                      = 0x0600, | 
|  | Chaco                       = 0x0700, | 
|  | OrderingMask                = 0x0f00 | 
|  | }; | 
|  |  | 
|  | #include "src/SparseExtra/RandomSetter.h" | 
|  | #include "src/SparseExtra/SparseLLT.h" | 
|  | #include "src/SparseExtra/SparseLDLT.h" | 
|  | #include "src/SparseExtra/SparseLU.h" | 
|  |  | 
|  | } // namespace Eigen | 
|  |  | 
|  | #include "src/Core/util/EnableMSVCWarnings.h" | 
|  |  | 
|  | #endif // EIGEN_SPARSE_EXTRA_MODULE_H |