13 #include <shogun/lib/config.h> 16 #include <Eigen/Eigen> 17 #include <Eigen/Dense> 18 #if EIGEN_VERSION_AT_LEAST(3,0,93) 19 #include <Eigen/Sparse> 21 #define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET 22 #include <unsupported/Eigen/SparseExtra> 24 #ifndef DOXYGEN_SHOULD_SKIP_THIS 27 template <
typename T>
struct Triplet
30 ecol(colIndex), erow(rowIndex), evalue(valueT)
33 index_t col()
const {
return ecol; };
34 index_t row()
const {
return erow; };
35 T value()
const {
return evalue; };
42 template <
typename T>
class SimplicialLLT
43 :
public SimplicialCholesky<T,Lower>
48 SimplicialCholesky<T>::setMode(SimplicialCholeskyLLt);
50 inline const T matrixL()
52 return SimplicialCholesky<T>::m_matrix;
54 inline const T matrixU()
56 return SimplicialCholesky<T>::m_matrix.transpose();
60 #endif //DOXYGEN_SHOULD_SKIP_THIS 62 #endif //EIGEN_VERSION_AT_LEAST(3,0,93) 64 #if ((EIGEN_WORLD_VERSION == 3) && (EIGEN_MAJOR_VERSION == 2) && \ 65 ((EIGEN_MINOR_VERSION == 91) || (EIGEN_MINOR_VERSION == 92))) 69 #define EIGEN_WITH_LOG_BUG_1229 1 72 #if ((EIGEN_WORLD_VERSION == 3) && (EIGEN_MAJOR_VERSION == 2) && \ 73 ((EIGEN_MINOR_VERSION >= 91))) 77 #define EIGEN_WITH_OPERATOR_BUG 1 80 #if ((EIGEN_WORLD_VERSION == 3) && (EIGEN_MAJOR_VERSION == 2) && \ 81 ((EIGEN_MINOR_VERSION >= 93))) 82 #define EIGEN_WITH_TRANSPOSITION_BUG 1 86 template<
class T>
class SGSparseMatrix;
template class SGSparseMatrix
This class contains some utilities for Eigen3 Sparse Matrix integration with shogun. Currently it provides a method for converting SGSparseMatrix to Eigen3 SparseMatrix.
all of classes and functions are contained in the shogun namespace