mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-27 07:29:52 +08:00
68 lines
1.5 KiB
Plaintext
68 lines
1.5 KiB
Plaintext
|
#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
|