Tapkee
types.hpp
Go to the documentation of this file.
00001 /* This software is distributed under BSD 3-clause license (see LICENSE file).
00002  *
00003  * Copyright (c) 2012-2013 Sergey Lisitsyn
00004  */
00005 
00006 #ifndef TAPKEE_DEFINES_TYPES_H_
00007 #define TAPKEE_DEFINES_TYPES_H_
00008 
00009 namespace tapkee
00010 {
00011 #ifdef TAPKEE_CUSTOM_INTERNAL_NUMTYPE
00012     typedef TAPKEE_CUSTOM_INTERNAL_NUMTYPE ScalarType;
00013 #else
00014 
00015     typedef double ScalarType;
00016 #endif
00017 
00018 
00019     typedef int IndexType;
00021     typedef Eigen::Matrix<tapkee::ScalarType,Eigen::Dynamic,1> DenseVector;
00023     typedef Eigen::Matrix<tapkee::ScalarType,Eigen::Dynamic,Eigen::Dynamic> DenseMatrix;
00025     typedef tapkee::DenseMatrix DenseSymmetricMatrix;
00027     typedef Eigen::DiagonalMatrix<tapkee::ScalarType,Eigen::Dynamic> DenseDiagonalMatrix;
00029     typedef Eigen::SparseMatrix<tapkee::ScalarType> SparseWeightMatrix;
00031     typedef Eigen::SparseMatrix<tapkee::ScalarType> SparseMatrix;   
00033     typedef Eigen::SelfAdjointEigenSolver<tapkee::DenseMatrix> DenseSelfAdjointEigenSolver;
00035     typedef Eigen::LDLT<tapkee::DenseMatrix> DenseSolver;
00036 #ifdef EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
00037 
00038 
00039 
00040     typedef Eigen::SimplicialCholesky<tapkee::SparseWeightMatrix> SparseSolver;
00041 #else
00042     #if defined(TAPKEE_SUPERLU_AVAILABLE) && defined(TAPKEE_USE_SUPERLU)
00043     typedef Eigen::SuperLU<tapkee::SparseWeightMatrix> SparseSolver;
00044     #else 
00045     typedef Eigen::SimplicialLDLT<tapkee::SparseWeightMatrix> SparseSolver;
00046     #endif
00047 #endif
00048 }
00049 
00050 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines