2008-06-23 21:25:22 +08:00
|
|
|
#ifndef EIGEN_SPARSE_MODULE_H
|
|
|
|
#define EIGEN_SPARSE_MODULE_H
|
|
|
|
|
|
|
|
#include "Core"
|
2008-12-19 04:48:02 +08:00
|
|
|
|
|
|
|
#include "src/Core/util/DisableMSVCWarnings.h"
|
|
|
|
|
2008-06-23 21:25:22 +08:00
|
|
|
#include <vector>
|
|
|
|
#include <map>
|
2008-08-22 09:19:53 +08:00
|
|
|
#include <cstdlib>
|
|
|
|
#include <cstring>
|
|
|
|
#include <algorithm>
|
2008-06-23 21:25:22 +08:00
|
|
|
|
2008-10-21 21:35:04 +08:00
|
|
|
#ifdef EIGEN_GOOGLEHASH_SUPPORT
|
|
|
|
#include <google/dense_hash_map>
|
|
|
|
#endif
|
|
|
|
|
2008-10-05 21:38:38 +08:00
|
|
|
#ifdef EIGEN_CHOLMOD_SUPPORT
|
|
|
|
extern "C" {
|
|
|
|
#include "cholmod.h"
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef EIGEN_TAUCS_SUPPORT
|
|
|
|
|
2008-10-20 18:43:11 +08:00
|
|
|
// taucs.h declares a lot of mess
|
|
|
|
#define isnan
|
|
|
|
#define finite
|
|
|
|
#define isinf
|
2008-10-05 21:38:38 +08:00
|
|
|
extern "C" {
|
|
|
|
#include "taucs.h"
|
|
|
|
}
|
2008-10-20 18:43:11 +08:00
|
|
|
#undef isnan
|
|
|
|
#undef finite
|
|
|
|
#undef isinf
|
2008-10-05 21:38:38 +08:00
|
|
|
|
|
|
|
#ifdef min
|
|
|
|
#undef min
|
|
|
|
#endif
|
|
|
|
#ifdef max
|
|
|
|
#undef max
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2008-10-19 23:26:28 +08:00
|
|
|
#ifdef EIGEN_SUPERLU_SUPPORT
|
|
|
|
typedef int int_t;
|
|
|
|
#include "superlu/slu_Cnames.h"
|
|
|
|
#include "superlu/supermatrix.h"
|
|
|
|
#include "superlu/slu_util.h"
|
|
|
|
|
|
|
|
namespace SuperLU_S {
|
|
|
|
#include "superlu/slu_sdefs.h"
|
|
|
|
}
|
|
|
|
namespace SuperLU_D {
|
|
|
|
#include "superlu/slu_ddefs.h"
|
|
|
|
}
|
|
|
|
namespace SuperLU_C {
|
|
|
|
#include "superlu/slu_cdefs.h"
|
|
|
|
}
|
|
|
|
namespace SuperLU_Z {
|
|
|
|
#include "superlu/slu_zdefs.h"
|
|
|
|
}
|
|
|
|
namespace Eigen { struct SluMatrix; }
|
|
|
|
#endif
|
|
|
|
|
2008-10-20 06:44:21 +08:00
|
|
|
#ifdef EIGEN_UMFPACK_SUPPORT
|
|
|
|
#include "umfpack.h"
|
|
|
|
#endif
|
|
|
|
|
2008-06-23 21:25:22 +08:00
|
|
|
namespace Eigen {
|
|
|
|
|
2008-06-27 07:22:26 +08:00
|
|
|
#include "src/Sparse/SparseUtil.h"
|
|
|
|
#include "src/Sparse/SparseMatrixBase.h"
|
2008-06-23 21:25:22 +08:00
|
|
|
#include "src/Sparse/SparseArray.h"
|
2008-10-04 22:23:00 +08:00
|
|
|
#include "src/Sparse/AmbiVector.h"
|
2008-10-21 07:42:20 +08:00
|
|
|
#include "src/Sparse/RandomSetter.h"
|
2008-09-02 23:28:49 +08:00
|
|
|
#include "src/Sparse/SparseBlock.h"
|
2008-06-23 21:25:22 +08:00
|
|
|
#include "src/Sparse/SparseMatrix.h"
|
2008-10-21 21:35:04 +08:00
|
|
|
//#include "src/Sparse/HashMatrix.h"
|
|
|
|
//#include "src/Sparse/LinkedVectorMatrix.h"
|
2008-06-23 21:25:22 +08:00
|
|
|
#include "src/Sparse/CoreIterators.h"
|
2008-10-21 21:35:04 +08:00
|
|
|
//#include "src/Sparse/SparseSetter.h"
|
2008-06-29 07:07:14 +08:00
|
|
|
#include "src/Sparse/SparseProduct.h"
|
2008-06-30 05:29:12 +08:00
|
|
|
#include "src/Sparse/TriangularSolver.h"
|
2008-10-19 02:33:56 +08:00
|
|
|
#include "src/Sparse/SparseLLT.h"
|
2008-11-05 21:47:55 +08:00
|
|
|
#include "src/Sparse/SparseLDLT.h"
|
2008-10-19 02:33:56 +08:00
|
|
|
#include "src/Sparse/SparseLU.h"
|
2008-10-05 21:38:38 +08:00
|
|
|
|
|
|
|
#ifdef EIGEN_CHOLMOD_SUPPORT
|
|
|
|
# include "src/Sparse/CholmodSupport.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef EIGEN_TAUCS_SUPPORT
|
|
|
|
# include "src/Sparse/TaucsSupport.h"
|
|
|
|
#endif
|
2008-06-23 21:25:22 +08:00
|
|
|
|
2008-10-19 23:26:28 +08:00
|
|
|
#ifdef EIGEN_SUPERLU_SUPPORT
|
|
|
|
# include "src/Sparse/SuperLUSupport.h"
|
|
|
|
#endif
|
|
|
|
|
2008-10-20 06:44:21 +08:00
|
|
|
#ifdef EIGEN_UMFPACK_SUPPORT
|
|
|
|
# include "src/Sparse/UmfPackSupport.h"
|
|
|
|
#endif
|
|
|
|
|
2008-06-23 21:25:22 +08:00
|
|
|
} // namespace Eigen
|
|
|
|
|
2008-12-19 04:48:02 +08:00
|
|
|
#include "src/Core/util/EnableMSVCWarnings.h"
|
|
|
|
|
2008-06-23 21:25:22 +08:00
|
|
|
#endif // EIGEN_SPARSE_MODULE_H
|