Classes | |
| class | Gudhi::Simplex_tree< SimplexTreeOptions > |
| Simplex Tree data structure for representing simplicial complexes. More... | |
| struct | Gudhi::simplex_tree::empty_filtration_value_t |
Returns Filtration_value(0) when converted to Filtration_value. More... | |
| class | Gudhi::Simplex_tree_simplex_vertex_iterator< SimplexTree > |
| Iterator over the vertices of a simplex in a SimplexTree. More... | |
| class | Gudhi::Simplex_tree_boundary_simplex_iterator< SimplexTree > |
| Iterator over the simplices of the boundary of a simplex. More... | |
| class | Gudhi::Simplex_tree_boundary_opposite_vertex_simplex_iterator< SimplexTree > |
| Iterator over the simplices of the boundary of a simplex and their opposite vertices. More... | |
| class | Gudhi::Simplex_tree_complex_simplex_iterator< SimplexTree > |
| Iterator over the simplices of a simplicial complex. More... | |
| class | Gudhi::Simplex_tree_skeleton_simplex_iterator< SimplexTree > |
| Iterator over the simplices of the skeleton of a given dimension of the simplicial complex. More... | |
| class | Gudhi::Simplex_tree_dimension_simplex_iterator< SimplexTree > |
| Iterator over the simplices of the simplicial complex that match the dimension specified by the parameter. More... | |
| struct | Gudhi::Simplex_tree_node_explicit_storage< SimplexTree > |
| Node of a simplex tree with filtration value and simplex key. More... | |
| struct | Gudhi::Simplex_tree_options_default |
| struct | Gudhi::Simplex_tree_options_full_featured |
| struct | Gudhi::Simplex_tree_options_minimal |
| class | Gudhi::Simplex_tree_siblings< SimplexTree, MapContainer > |
| Data structure to store a set of nodes in a SimplexTree sharing the same parent node. More... | |
| class | Extended_simplex_type |
| Extended simplex type data structure for representing the type of simplices in an extended filtration. More... | |
Functions | |
| template<typename Arithmetic_filtration_value> | |
| bool | Gudhi::is_positive_infinity (const Arithmetic_filtration_value &f) |
Returns true if and only if the given filtration value is at infinity. This is the overload for when FiltrationValue is an arithmetic type, like double, int etc. It simply tests equality with std::numeric_limits<FiltrationValue>::infinity() if defined or with std::numeric_limits<FiltrationValue>::max() otherwise. Can therefore be also used with other classes as long as infinity is defined that way. | |
| template<typename Arithmetic_filtration_value> | |
| bool | Gudhi::unify_lifetimes (Arithmetic_filtration_value &f1, const Arithmetic_filtration_value &f2) |
| Given two filtration values at which a simplex exists, stores in the first value the minimal union of births generating a lifetime including those two values. This is the overload for when FiltrationValue is an arithmetic type, like double, int etc. Because the filtration values are totally ordered then, the union is simply the minimum of the two values. | |
| template<typename Arithmetic_filtration_value> | |
| bool | Gudhi::intersect_lifetimes (Arithmetic_filtration_value &f1, const Arithmetic_filtration_value &f2) |
Given two filtration values, stores in the first value the lowest common upper bound of the two values. If a filtration value has value NaN, it should be considered as the lowest value possible. This is the overload for when FiltrationValue is an arithmetic type, like double, float, int etc. Because the filtration values are totally ordered then, the upper bound is always the maximum of the two values. | |
A simplicial complex \(\mathbf{K}\) on a set of vertices \(V = \{1, \cdots ,|V|\}\) is a collection of simplices \(\{\sigma\}\), \(\sigma \subseteq V\) such that \(\tau \subseteq \sigma \in \mathbf{K} \rightarrow \tau \in \mathbf{K}\). The dimension \(n=|\sigma|-1\) of \(\sigma\) is its number of elements minus \(1\).
A filtration of a simplicial complex is a function \(f:\mathbf{K} \rightarrow \mathbb{R}\) satisfying \(f(\tau)\leq f(\sigma)\) whenever \(\tau \subseteq \sigma\). Ordering the simplices by increasing filtration values (breaking ties so as a simplex appears after its subsimplices of same filtration value) provides an indexing scheme.
There are two implementation of complexes. The first on is the Simplex_tree data structure. The simplex tree is an efficient and flexible data structure for representing general (filtered) simplicial complexes. The data structure is described in [7]
Here is a list of simplex tree examples :
Simplex tree construction with \(\mathbb{Z}/3\mathbb{Z}\) coefficients on weighted graph Klein bottle file:
The second one is the Hasse_complex. The Hasse complex is a data structure representing explicitly all co-dimension 1 incidence relations in a complex. It is consequently faster when accessing the boundary of a simplex, but is less compact and harder to construct from scratch.
Iterators and range types for the Simplex_tree.
Represents a node of a Simplex_tree.
Pre-defined options for the Simplex_tree.
Represents a set of node of a Simplex_tree that share the same parent.
| bool Gudhi::unify_lifetimes | ( | Arithmetic_filtration_value & | f1, |
| const Arithmetic_filtration_value & | f2 ) |
Given two filtration values at which a simplex exists, stores in the first value the minimal union of births generating a lifetime including those two values. This is the overload for when FiltrationValue is an arithmetic type, like double, int etc. Because the filtration values are totally ordered then, the union is simply the minimum of the two values.
NaN values are not supported.