PersistentLaplacians
typedefs.hpp
Go to the documentation of this file.
1 #ifndef typedefs_h
2 #define typedefs_h
3 // #include "Eigen/src/Core/DenseBase.h"
4 #include "Eigen/SparseCore" //also includes core
5 // #include "Eigen/Sparse"
6 // #include "Eigen/Dense"
7 // #include <Eigen/Sparse>
8 // #include <Eigen/Dense>
9 
10 
11 
12 
13 typedef float coefficient_type;
14 typedef float spectra_type;
15 
16 // Sheaf requires boundary matrices as real numbers
17 // Others take advantage of integer storage efficiency,
18 // this allows an easy toggle between. (if using int, sheaf will fail to compile)
19 // typedef int storage;
20 typedef float storage;
21 typedef Eigen::SparseMatrix<storage, Eigen::ColMajor> SparseMatrix_storage;
22 
23 typedef Eigen::SparseMatrix<coefficient_type, Eigen::ColMajor> SparseMatrix_PL;
24 typedef Eigen::Matrix<coefficient_type, Eigen::Dynamic, Eigen::Dynamic> DenseMatrix_PL;
25 typedef Eigen::Matrix<spectra_type, Eigen::Dynamic, Eigen::Dynamic> SparseMatrix_spectra_PL;
26 typedef Eigen::Matrix<spectra_type, Eigen::Dynamic, Eigen::Dynamic> DenseMatrix_spectra_PL;
27 typedef Eigen::Matrix<spectra_type, Eigen::Dynamic, 1> spectra_vec;
28 
29 typedef Eigen::SparseMatrix<int, Eigen::ColMajor> SparseMatrixInt;
30 typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrixDouble;
31 typedef Eigen::SparseMatrix<float, Eigen::ColMajor> SparseMatrixFloat;
32 
33 
34 typedef double filtration_type; // TODO: single precision
35 typedef int index_type; // TODO: change from int to uint
36 
37 
38 
39 //TODO: remove PRUNE_CONSTANT or determine a justified value
40 #define PRUNE_CONSTANT 0.0000001
41 
42 
43 #endif
Eigen::Matrix< spectra_type, Eigen::Dynamic, Eigen::Dynamic > SparseMatrix_spectra_PL
Definition: typedefs.hpp:25
float coefficient_type
Definition: typedefs.hpp:13
Eigen::Matrix< coefficient_type, Eigen::Dynamic, Eigen::Dynamic > DenseMatrix_PL
Definition: typedefs.hpp:24
Eigen::Matrix< spectra_type, Eigen::Dynamic, 1 > spectra_vec
Definition: typedefs.hpp:27
Eigen::SparseMatrix< float, Eigen::ColMajor > SparseMatrixFloat
Definition: typedefs.hpp:31
Eigen::SparseMatrix< storage, Eigen::ColMajor > SparseMatrix_storage
Definition: typedefs.hpp:21
Eigen::SparseMatrix< coefficient_type, Eigen::ColMajor > SparseMatrix_PL
Definition: typedefs.hpp:23
Eigen::SparseMatrix< double, Eigen::ColMajor > SparseMatrixDouble
Definition: typedefs.hpp:30
int index_type
Definition: typedefs.hpp:35
Eigen::Matrix< spectra_type, Eigen::Dynamic, Eigen::Dynamic > DenseMatrix_spectra_PL
Definition: typedefs.hpp:26
float spectra_type
Definition: typedefs.hpp:14
Eigen::SparseMatrix< int, Eigen::ColMajor > SparseMatrixInt
Definition: typedefs.hpp:29
float storage
Definition: typedefs.hpp:20
double filtration_type
Definition: typedefs.hpp:34