:orphan: .. To get rid of WARNING: document isn't included in any toctree Simplex tree user manual ======================== Definition ---------- .. include:: simplex_tree_sum.inc A simplicial complex :math:`\mathbf{K}` on a set of vertices :math:`V = \{1, \cdots ,|V|\}` is a collection of simplices :math:`\{\sigma\}`, :math:`\sigma \subseteq V` such that :math:`\tau \subseteq \sigma \in \mathbf{K} \rightarrow \tau \in \mathbf{K}`. The dimension :math:`n=|\sigma|-1` of :math:`\sigma` is its number of elements minus `1`. A filtration of a simplicial complex is a function :math:`f:\mathbf{K} \rightarrow \mathbb{R}` satisfying :math:`f(\tau)\leq f(\sigma)` whenever :math:`\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. Implementation -------------- The :class:`simplex tree` is an efficient and flexible data structure for representing general (filtered) simplicial complexes. The data structure is described in :cite:`boissonnatmariasimplextreealgorithmica`. Example ------- .. testcode:: import gudhi st = gudhi.SimplexTree() if st.insert([0, 1]): print("[0, 1] inserted") if st.insert([0, 1, 2], filtration=4.0): print("[0, 1, 2] inserted") if st.find([0, 1]): print("[0, 1] found") result_str = 'num_vertices=' + repr(st.num_vertices()) print(result_str) result_str = 'num_simplices=' + repr(st.num_simplices()) print(result_str) print("skeleton(2) =") for sk_value in st.get_skeleton(2): print(sk_value) The output is: .. testoutput:: [0, 1] inserted [0, 1, 2] inserted [0, 1] found num_vertices=3 num_simplices=7 skeleton(2) = ([0, 1, 2], 4.0) ([0, 1], 0.0) ([0, 2], 4.0) ([0], 0.0) ([1, 2], 4.0) ([1], 0.0) ([2], 4.0)