70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
|
#ifndef EIGEN_SPARSE_EXTRA_MODULE_H
|
||
|
#define EIGEN_SPARSE_EXTRA_MODULE_H
|
||
|
|
||
|
#include "../../Eigen/Sparse"
|
||
|
|
||
|
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
|
||
|
|
||
|
#include <vector>
|
||
|
#include <map>
|
||
|
#include <cstdlib>
|
||
|
#include <cstring>
|
||
|
#include <algorithm>
|
||
|
|
||
|
#ifdef EIGEN_GOOGLEHASH_SUPPORT
|
||
|
#include <google/dense_hash_map>
|
||
|
#endif
|
||
|
|
||
|
namespace Eigen {
|
||
|
|
||
|
/** \ingroup Unsupported_modules
|
||
|
* \defgroup SparseExtra_Module SparseExtra module
|
||
|
*
|
||
|
* This module contains some experimental features extending the sparse module.
|
||
|
*
|
||
|
* \code
|
||
|
* #include <Eigen/SparseExtra>
|
||
|
* \endcode
|
||
|
*/
|
||
|
|
||
|
struct DefaultBackend {};
|
||
|
|
||
|
|
||
|
// 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 "../../Eigen/src/misc/Solve.h"
|
||
|
|
||
|
#include "src/SparseExtra/RandomSetter.h"
|
||
|
#include "src/SparseExtra/Solve.h"
|
||
|
#include "src/SparseExtra/Amd.h"
|
||
|
#include "src/SparseExtra/SimplicialCholesky.h"
|
||
|
|
||
|
#include "src/SparseExtra/SparseLLT.h"
|
||
|
#include "src/SparseExtra/SparseLDLTLegacy.h"
|
||
|
#include "src/SparseExtra/SparseLU.h"
|
||
|
|
||
|
} // namespace Eigen
|
||
|
|
||
|
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
|
||
|
|
||
|
#endif // EIGEN_SPARSE_EXTRA_MODULE_H
|