| #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 |