2010-06-18 17:28:30 +08:00
|
|
|
#ifndef EIGEN_SPARSE_EXTRA_MODULE_H
|
|
|
|
#define EIGEN_SPARSE_EXTRA_MODULE_H
|
|
|
|
|
2010-07-06 16:25:52 +08:00
|
|
|
#include "../../Eigen/Sparse"
|
2010-06-18 17:28:30 +08:00
|
|
|
|
2011-02-22 22:31:22 +08:00
|
|
|
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
|
2010-06-18 17:28:30 +08:00
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include <map>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <cstring>
|
|
|
|
#include <algorithm>
|
2011-06-01 00:58:04 +08:00
|
|
|
#include <fstream>
|
|
|
|
#include <sstream>
|
2010-06-18 17:28:30 +08:00
|
|
|
|
|
|
|
#ifdef EIGEN_GOOGLEHASH_SUPPORT
|
|
|
|
#include <google/dense_hash_map>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
namespace Eigen {
|
|
|
|
|
2010-06-30 19:19:54 +08:00
|
|
|
/** \ingroup Unsupported_modules
|
|
|
|
* \defgroup SparseExtra_Module SparseExtra module
|
2010-06-18 17:28:30 +08:00
|
|
|
*
|
|
|
|
* This module contains some experimental features extending the sparse module.
|
|
|
|
*
|
|
|
|
* \code
|
|
|
|
* #include <Eigen/SparseExtra>
|
|
|
|
* \endcode
|
|
|
|
*/
|
|
|
|
|
2010-10-05 02:56:54 +08:00
|
|
|
struct DefaultBackend {};
|
|
|
|
|
2010-06-18 17:28:30 +08:00
|
|
|
|
|
|
|
// 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
|
|
|
|
};
|
|
|
|
|
2010-11-18 17:30:52 +08:00
|
|
|
#include "../../Eigen/src/misc/Solve.h"
|
2010-10-26 21:51:06 +08:00
|
|
|
|
2010-06-18 17:28:30 +08:00
|
|
|
#include "src/SparseExtra/RandomSetter.h"
|
2011-06-01 00:58:04 +08:00
|
|
|
|
|
|
|
#include "src/SparseExtra/MarketIO.h"
|
|
|
|
|
2010-11-04 16:58:22 +08:00
|
|
|
#include "src/SparseExtra/Solve.h"
|
|
|
|
#include "src/SparseExtra/Amd.h"
|
|
|
|
#include "src/SparseExtra/SimplicialCholesky.h"
|
|
|
|
|
2010-06-18 17:28:30 +08:00
|
|
|
#include "src/SparseExtra/SparseLLT.h"
|
2010-11-04 16:58:22 +08:00
|
|
|
#include "src/SparseExtra/SparseLDLTLegacy.h"
|
2010-06-18 17:28:30 +08:00
|
|
|
#include "src/SparseExtra/SparseLU.h"
|
|
|
|
|
|
|
|
} // namespace Eigen
|
|
|
|
|
2011-02-22 22:31:22 +08:00
|
|
|
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
|
2010-06-18 17:28:30 +08:00
|
|
|
|
|
|
|
#endif // EIGEN_SPARSE_EXTRA_MODULE_H
|