diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-06-18 11:28:30 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-06-18 11:28:30 +0200 |
commit | ece48a645051a9984a78a3197027c9c861a0c702 (patch) | |
tree | c52c6400b2a839f62877c168c193fc024ccf68d6 /unsupported/Eigen/SparseExtra | |
parent | 22d07ec2e3324d09c7dff36c9642f0ed74f3e994 (diff) |
split the Sparse module into multiple ones, and move non stable parts to unsupported/
(see the ML for details)
Diffstat (limited to 'unsupported/Eigen/SparseExtra')
-rw-r--r-- | unsupported/Eigen/SparseExtra | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/unsupported/Eigen/SparseExtra b/unsupported/Eigen/SparseExtra new file mode 100644 index 000000000..ba44a9c42 --- /dev/null +++ b/unsupported/Eigen/SparseExtra @@ -0,0 +1,67 @@ +#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 |