2008-06-23 13:25:22 +00:00
|
|
|
#ifndef EIGEN_SPARSE_MODULE_H
|
|
|
|
|
#define EIGEN_SPARSE_MODULE_H
|
|
|
|
|
|
|
|
|
|
#include "Core"
|
2008-12-18 20:48:02 +00:00
|
|
|
|
|
|
|
|
#include "src/Core/util/DisableMSVCWarnings.h"
|
|
|
|
|
|
2008-06-23 13:25:22 +00:00
|
|
|
#include <vector>
|
|
|
|
|
#include <map>
|
2008-08-22 01:19:53 +00:00
|
|
|
#include <cstdlib>
|
|
|
|
|
#include <cstring>
|
|
|
|
|
#include <algorithm>
|
2008-06-23 13:25:22 +00:00
|
|
|
|
2008-10-21 13:35:04 +00:00
|
|
|
#ifdef EIGEN_GOOGLEHASH_SUPPORT
|
|
|
|
|
#include <google/dense_hash_map>
|
|
|
|
|
#endif
|
|
|
|
|
|
2008-10-05 13:38:38 +00:00
|
|
|
#ifdef EIGEN_CHOLMOD_SUPPORT
|
|
|
|
|
extern "C" {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <cholmod.h>
|
2008-10-05 13:38:38 +00:00
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef EIGEN_TAUCS_SUPPORT
|
2008-10-20 10:43:11 +00:00
|
|
|
// taucs.h declares a lot of mess
|
|
|
|
|
#define isnan
|
|
|
|
|
#define finite
|
|
|
|
|
#define isinf
|
2008-10-05 13:38:38 +00:00
|
|
|
extern "C" {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <taucs.h>
|
2008-10-05 13:38:38 +00:00
|
|
|
}
|
2008-10-20 10:43:11 +00:00
|
|
|
#undef isnan
|
|
|
|
|
#undef finite
|
|
|
|
|
#undef isinf
|
2008-10-05 13:38:38 +00:00
|
|
|
|
|
|
|
|
#ifdef min
|
|
|
|
|
#undef min
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef max
|
|
|
|
|
#undef max
|
|
|
|
|
#endif
|
2009-02-05 09:36:52 +00:00
|
|
|
#ifdef complex
|
|
|
|
|
#undef complex
|
|
|
|
|
#endif
|
2008-10-05 13:38:38 +00:00
|
|
|
#endif
|
|
|
|
|
|
2008-10-19 15:26:28 +00:00
|
|
|
#ifdef EIGEN_SUPERLU_SUPPORT
|
|
|
|
|
typedef int int_t;
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <slu_Cnames.h>
|
|
|
|
|
#include <supermatrix.h>
|
|
|
|
|
#include <slu_util.h>
|
2008-10-19 15:26:28 +00:00
|
|
|
|
|
|
|
|
namespace SuperLU_S {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <slu_sdefs.h>
|
2008-10-19 15:26:28 +00:00
|
|
|
}
|
|
|
|
|
namespace SuperLU_D {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <slu_ddefs.h>
|
2008-10-19 15:26:28 +00:00
|
|
|
}
|
|
|
|
|
namespace SuperLU_C {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <slu_cdefs.h>
|
2008-10-19 15:26:28 +00:00
|
|
|
}
|
|
|
|
|
namespace SuperLU_Z {
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <slu_zdefs.h>
|
2008-10-19 15:26:28 +00:00
|
|
|
}
|
|
|
|
|
namespace Eigen { struct SluMatrix; }
|
|
|
|
|
#endif
|
|
|
|
|
|
2008-10-19 22:44:21 +00:00
|
|
|
#ifdef EIGEN_UMFPACK_SUPPORT
|
2009-06-24 16:35:02 +02:00
|
|
|
#include <umfpack.h>
|
2008-10-19 22:44:21 +00:00
|
|
|
#endif
|
|
|
|
|
|
2008-06-23 13:25:22 +00:00
|
|
|
namespace Eigen {
|
|
|
|
|
|
2009-01-26 13:53:43 +00:00
|
|
|
/** \defgroup Sparse_Module Sparse module
|
|
|
|
|
*
|
|
|
|
|
* \nonstableyet
|
|
|
|
|
*
|
|
|
|
|
* See the \ref TutorialSparse "Sparse tutorial"
|
|
|
|
|
*
|
|
|
|
|
* \code
|
|
|
|
|
* #include <Eigen/QR>
|
|
|
|
|
* \endcode
|
|
|
|
|
*/
|
|
|
|
|
|
2009-11-17 16:04:19 +01:00
|
|
|
/** The type used to identify a general sparse storage. */
|
|
|
|
|
struct Sparse {};
|
|
|
|
|
|
2008-06-26 23:22:26 +00:00
|
|
|
#include "src/Sparse/SparseUtil.h"
|
|
|
|
|
#include "src/Sparse/SparseMatrixBase.h"
|
2009-01-15 12:52:59 +00:00
|
|
|
#include "src/Sparse/CompressedStorage.h"
|
2008-10-04 14:23:00 +00:00
|
|
|
#include "src/Sparse/AmbiVector.h"
|
2008-10-20 23:42:20 +00:00
|
|
|
#include "src/Sparse/RandomSetter.h"
|
2008-09-02 15:28:49 +00:00
|
|
|
#include "src/Sparse/SparseBlock.h"
|
2008-06-23 13:25:22 +00:00
|
|
|
#include "src/Sparse/SparseMatrix.h"
|
2009-01-19 15:20:45 +00:00
|
|
|
#include "src/Sparse/DynamicSparseMatrix.h"
|
2009-01-15 12:52:59 +00:00
|
|
|
#include "src/Sparse/MappedSparseMatrix.h"
|
2009-01-02 08:47:09 +00:00
|
|
|
#include "src/Sparse/SparseVector.h"
|
2008-06-23 13:25:22 +00:00
|
|
|
#include "src/Sparse/CoreIterators.h"
|
2009-01-14 14:24:10 +00:00
|
|
|
#include "src/Sparse/SparseTranspose.h"
|
|
|
|
|
#include "src/Sparse/SparseCwiseUnaryOp.h"
|
|
|
|
|
#include "src/Sparse/SparseCwiseBinaryOp.h"
|
|
|
|
|
#include "src/Sparse/SparseDot.h"
|
|
|
|
|
#include "src/Sparse/SparseAssign.h"
|
2009-01-07 17:01:57 +00:00
|
|
|
#include "src/Sparse/SparseRedux.h"
|
2009-01-14 14:24:10 +00:00
|
|
|
#include "src/Sparse/SparseFuzzy.h"
|
2008-06-28 23:07:14 +00:00
|
|
|
#include "src/Sparse/SparseProduct.h"
|
2009-02-09 09:59:30 +00:00
|
|
|
#include "src/Sparse/SparseDiagonalProduct.h"
|
2009-11-18 14:52:52 +01:00
|
|
|
#include "src/Sparse/SparseTriangularView.h"
|
|
|
|
|
#include "src/Sparse/SparseSelfAdjointView.h"
|
2008-06-29 21:29:12 +00:00
|
|
|
#include "src/Sparse/TriangularSolver.h"
|
2008-10-18 18:33:56 +00:00
|
|
|
#include "src/Sparse/SparseLLT.h"
|
2008-11-05 13:47:55 +00:00
|
|
|
#include "src/Sparse/SparseLDLT.h"
|
2008-10-18 18:33:56 +00:00
|
|
|
#include "src/Sparse/SparseLU.h"
|
2008-10-05 13:38:38 +00:00
|
|
|
|
|
|
|
|
#ifdef EIGEN_CHOLMOD_SUPPORT
|
|
|
|
|
# include "src/Sparse/CholmodSupport.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef EIGEN_TAUCS_SUPPORT
|
|
|
|
|
# include "src/Sparse/TaucsSupport.h"
|
|
|
|
|
#endif
|
2008-06-23 13:25:22 +00:00
|
|
|
|
2008-10-19 15:26:28 +00:00
|
|
|
#ifdef EIGEN_SUPERLU_SUPPORT
|
|
|
|
|
# include "src/Sparse/SuperLUSupport.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
2008-10-19 22:44:21 +00:00
|
|
|
#ifdef EIGEN_UMFPACK_SUPPORT
|
|
|
|
|
# include "src/Sparse/UmfPackSupport.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
2008-06-23 13:25:22 +00:00
|
|
|
} // namespace Eigen
|
|
|
|
|
|
2008-12-18 20:48:02 +00:00
|
|
|
#include "src/Core/util/EnableMSVCWarnings.h"
|
|
|
|
|
|
2008-06-23 13:25:22 +00:00
|
|
|
#endif // EIGEN_SPARSE_MODULE_H
|
2009-12-01 18:00:29 -05:00
|
|
|
/* vim: set filetype=cpp et sw=2 ts=2 ai: */
|
|
|
|
|
|