FilteredBoundaryMatrix#
FilteredBoundaryMatrix#
-
template<typename FBMcoeff = int>
class FilteredBoundaryMatrix# Class for storing, manipulating, and retrieving the boundary matrix at different filtration levels
Public Functions
-
inline FilteredBoundaryMatrix(Eigen::SparseMatrix<FBMcoeff, Eigen::ColMajor> _matrix, std::vector<filtration_type> _domain_filtrations, std::vector<filtration_type> _range_filtrations)#
Constructor. Note: dimensions of filtrations and matrix must match.
- Parameters:
_matrix – boundary matrix d_n
_domain_filtrations – filtrations of n-simplices
_range_filtrations – filtrations of (n-1)-simplices
-
inline std::vector<filtration_type> get_domain_filtrations()#
Get the filtration values of n-simplices
-
inline std::vector<filtration_type> get_range_filtrations()#
Get the filtration values of (n-1)-simplices
-
inline FilteredBoundaryMatrix transpose()#
Get the transpose of the boundary matrix, which swaps the domain and range filtrations
-
inline int index_of_filtration(bool use_domain_filtrations, filtration_type a)#
Get the largest index where the corresponding filtration value is not more than a. If there are multiple simplices with the same filtration highest value, it will return the largest index.
- Parameters:
use_domain_filtrations – if true, iterate over the domain filtrations (n-simplices), if false over the range filtrations (n-1)-simplices
a – filtration value
- Returns:
The largest index where the corresponding filtration value is not more than a.
-
inline void submatrix_at_filtration(filtration_type a, Eigen::SparseMatrix<FBMcoeff, Eigen::ColMajor> &M)#
Get the largest submatrix (by reference) that does not have corresponding filtration values greater than a.
- Parameters:
a – filtration value
M – [out] the submatrix.
-
inline void print_range_filtration()#
Print the filtration values of (n-1)-simplices.
-
inline void print_domain_filtration()#
Print the filtration values of (n-1)-simplices.
-
inline void print()#
Print the underlying matrix for d_n.
-
inline FilteredBoundaryMatrix(Eigen::SparseMatrix<FBMcoeff, Eigen::ColMajor> _matrix, std::vector<filtration_type> _domain_filtrations, std::vector<filtration_type> _range_filtrations)#