Class SimplicialComplex¶
Defined in File simplicial_complex.hpp
Class Documentation¶
-
class SimplicialComplex¶
A simplicial complex based using a trie data structure.
A class which can be used to hold simplicial complexes on large or exapanding vertex sets. For a lighter-weight option, see LightSimplicialComplex
Public Functions
-
inline SimplicialComplex()¶
-
inline SimplicialComplex(size_t maxdim)¶
Initialization up to a certain dimension
- Parameters
maxdim – [in] - the maximum dimension simplex expected to be added
-
inline SimplicialComplex(size_t n, size_t maxdim)¶
Initialization on a certain vertex
- Parameters
n – [in] - the maximum expected vertex index
maxdim – [in] - the maximum dimension simplex expected to be added
-
inline SimplicialComplex(const std::vector<size_t> &dim)¶
-
inline SimplicialComplex(const std::string &&fname)¶
-
inline size_t find_idx(const std::vector<size_t> &s)¶
Find the index of a simplex
- Parameters
s – [in] A vector containing the simplex
- Returns
The index associated with the simplex. Returns bats::NO_IND if the simplex is not in the complex.
-
inline size_t find_idx(const std::vector<size_t> &s) const¶
-
inline size_t maxdim() const¶
-
inline size_t ncells(const size_t k) const¶
-
inline size_t ncells() const¶
-
inline auto faces_begin(const size_t dim, const size_t i) const¶
-
inline auto faces_end(const size_t dim, const size_t i) const¶
-
inline auto simplex_begin(const size_t dim, const size_t i) const¶
-
inline auto simplex_end(const size_t dim, const size_t i) const¶
-
inline void get_simplex(size_t dim, size_t i, std::vector<size_t> &s) const¶
fill s with simple i in dimension dim
-
inline std::vector<size_t> get_simplex(size_t dim, size_t i) const¶
return simplex i in dimension dim
-
inline auto get_cell(size_t dim, size_t i, std::vector<size_t> &s) const¶
-
inline auto get_cell(size_t dim, size_t i) const¶
-
inline std::vector<std::vector<size_t>> get_simplices(const size_t dim) const¶
-
inline std::vector<std::vector<size_t>> get_simplices() const¶
-
inline void union_add(const SimplicialComplex &Y)¶
-
inline std::vector<size_t> get_indices(const SimplicialComplex &A, size_t dim) const¶
-
inline std::vector<std::vector<size_t>> get_indices(const SimplicialComplex &A) const¶
-
inline auto boundary(const size_t dim, const size_t k) const¶
indices and values of simplex k in dimension dim
-
inline ~SimplicialComplex()¶
-
inline void save(std::string &fname) const¶
-
inline void print_summary() const¶
-
inline void print_cells() const¶
Friends
- friend class MorsePairing< SimplicialComplex >
-
inline friend SimplicialComplex simplicial_union(const SimplicialComplex &X, const SimplicialComplex &Y)¶
-
inline friend SimplicialComplex intersection(const SimplicialComplex &X, const SimplicialComplex &Y)¶
-
inline SimplicialComplex()¶