PersistentLaplacians
Public Member Functions | List of all members
PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff > Class Template Reference

#include <Filtered_Boundary_Matrix.hpp>

Public Member Functions

 Filtered_Boundary_Matrix (Eigen::SparseMatrix< FBMcoeff, Eigen::ColMajor > _matrix, std::vector< filtration_type > _domain_filtrations, std::vector< filtration_type > _range_filtrations)
 
std::vector< filtration_typeget_domain_filtrations ()
 
std::vector< filtration_typeget_range_filtrations ()
 
Filtered_Boundary_Matrix transpose ()
 
int index_of_filtration (bool use_domain_filtrations, filtration_type a)
 
int get_low (SparseMatrix_PL &matrix, int col_index)
 
void submatrix_at_filtration (filtration_type a, Eigen::SparseMatrix< FBMcoeff, Eigen::ColMajor > &M)
 
std::tuple< SparseMatrix_PL, SparseMatrix_PL, std::vector< int >, int > reduce (int a_row_index, int b_row_index, int b_col_index)
 
void print_range_filtration ()
 
void print_domain_filtration ()
 
void print ()
 

Detailed Description

template<typename FBMcoeff = int>
class PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >

Class for storing, manipulating, and retrieving the boundary matrix at different filtration levels

Constructor & Destructor Documentation

◆ Filtered_Boundary_Matrix()

template<typename FBMcoeff = int>
PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::Filtered_Boundary_Matrix ( Eigen::SparseMatrix< FBMcoeff, Eigen::ColMajor >  _matrix,
std::vector< filtration_type _domain_filtrations,
std::vector< filtration_type _range_filtrations 
)
inline

Constructor. Note: dimensions of filtrations and matrix must match.

Parameters
_matrixboundary matrix d_n
_domain_filtrationsfiltrations of n-simplices
_range_filtrationsfiltrations of (n-1)-simplices

Member Function Documentation

◆ get_domain_filtrations()

template<typename FBMcoeff = int>
std::vector<filtration_type> PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::get_domain_filtrations ( )
inline

Get the filtration values of n-simplices

◆ get_low()

template<typename FBMcoeff = int>
int PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::get_low ( SparseMatrix_PL matrix,
int  col_index 
)
inline

◆ get_range_filtrations()

template<typename FBMcoeff = int>
std::vector<filtration_type> PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::get_range_filtrations ( )
inline

Get the filtration values of (n-1)-simplices

◆ index_of_filtration()

template<typename FBMcoeff = int>
int PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::index_of_filtration ( bool  use_domain_filtrations,
filtration_type  a 
)
inline

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_filtrationsif true, iterate over the domain filtrations (n-simplices), if false over the range filtrations (n-1)-simplices
afiltration value
Returns
The largest index where the corresponding filtration value is not more than a.

◆ print()

template<typename FBMcoeff = int>
void PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::print ( )
inline

Print the underlying matrix for d_n.

◆ print_domain_filtration()

template<typename FBMcoeff = int>
void PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::print_domain_filtration ( )
inline

Print the filtration values of (n-1)-simplices.

◆ print_range_filtration()

template<typename FBMcoeff = int>
void PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::print_range_filtration ( )
inline

Print the filtration values of (n-1)-simplices.

◆ reduce()

template<typename FBMcoeff = int>
std::tuple<SparseMatrix_PL,SparseMatrix_PL,std::vector<int>, int> PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::reduce ( int  a_row_index,
int  b_row_index,
int  b_col_index 
)
inline

◆ submatrix_at_filtration()

template<typename FBMcoeff = int>
void PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::submatrix_at_filtration ( filtration_type  a,
Eigen::SparseMatrix< FBMcoeff, Eigen::ColMajor > &  M 
)
inline

Get the largest submatrix (by reference) that does not have corresponding filtration values greater than a.

Parameters
afiltration value
[out]Mthe submatrix.

◆ transpose()

template<typename FBMcoeff = int>
Filtered_Boundary_Matrix PersistentLaplacians::Filtered_Boundary_Matrix< FBMcoeff >::transpose ( )
inline

Get the transpose of the boundary matrix, which swaps the domain and range filtrations


The documentation for this class was generated from the following file: