Template Struct ZigzagChainComplex

Struct Documentation

template<typename MT, typename T = double>
struct ZigzagChainComplex

A class that wraps a chain complex with a zigzag filtration.

A class that wraps a chain complex with a zigzag filtration. Unlike a Zigzag filtraion, every chain has a unique entry and removal time.

Public Functions

inline void _correct_indices(size_t k, size_t j, const std::vector<std::vector<size_t>> extra_cells)

correct the indices in column j in dimension k

assumes column j hasn’t already been corrected assumes val[k][j] has been set, as well as val[k-1] extra_cells maps to duplicate cells

inline ZigzagChainComplex()
template<typename CpxT>
inline ZigzagChainComplex(const ZigzagFiltration<CpxT, T> &X)

Construct a zigzag chain complex from a zigzag filtration

constructs a distinct column for every time a cell enters

inline size_t maxdim() const

return maximum dimension of cells

inline size_t dim(const size_t k) const

return number of cells in specified dimension

Parameters

dim – dimension

inline size_t dim() const
inline const std::vector<std::vector<std::pair<T, T>>> &vals() const

return const reference to right filtration values

inline const std::vector<std::pair<T, T>> &vals(const size_t k) const

return const reference to right filtration values

Parameters

k – dimension of values to return

Public Members

ChainComplex<MT> C
std::vector<std::vector<std::pair<T, T>>> val
std::vector<std::vector<size_t>> cind