Template Struct ReducedFilteredChainComplex

Struct Documentation

template<typename T, typename MT>
struct ReducedFilteredChainComplex

Public Functions

inline ReducedFilteredChainComplex()
template<typename ...Args>
inline ReducedFilteredChainComplex(const FilteredChainComplex<T, MT> &C, Args... args)
inline size_t maxdim() const
inline size_t dim(const size_t k) const
inline size_t hdim(const size_t k) const
inline std::vector<PersistencePair<T>> persistence_pairs(const size_t k, const bool permuted = false) const

persistence pairs in dimension k

Parameters
  • k – homology dimension

  • permuted – set to true to return critical indices permuted by filtration parameter set to false to return with indices in original order. Default: false

inline std::tuple<std::vector<T>, std::vector<size_t>> persistence_pairs_vec(const size_t k, const bool permuted = false) const

return persistence pairs in vector format

returns flattened vectors bd - birth-death pairs inds - critical indices

inline auto representative(const PersistencePair<T> &p, const bool permuted = false) const

returns representative for homology class corresponding to persistence pair

if permuted is false, it is assumed the birth index is also not in permutation order.

Parameters
  • p – persistence pair obtained from persistence_pairs

  • permuted – set to true to return indices permuted by filtration parameter set to false to return with indices in original order. Default: false

std::vector<T> barcode(const size_t k)
std::vector<size_t> critical_cells(const size_t k)
inline void update_filtration(const std::vector<std::vector<T>> newval)
template<typename Information_type, typename ...Args>
inline void update_filtration_general(const Information_type &updating_information, Args... args)
inline std::vector<size_t> get_nnz_U()
inline std::vector<size_t> get_nnz_R()
inline void sparsify_basis()

greedily introduce sparsity into basis

inline void remove_extra_cycles()

remove extra cycles from U[k]

ReducedFilteredChainComplex get_subcomplex() const
inline void print_summary(bool print_nnz = false) const

Public Members

ReducedChainComplex<MT> RC
std::vector<std::vector<T>> val
std::vector<std::vector<size_t>> perm