We present the main algorithmic and design choices that have been made to represent complexes and compute persistent homology in the Gudhi library. The Gudhi library (Geometric Understanding in Higher Dimensions) is a generic C++ library for computational topology. Its goal is to provide robust, efficient, flexible and easy to use implementations of state-of-the-art algorithms and data structures for computational topology. We present the different components of the software, their interaction and the user interface. We justify the algorithmic and design decisions made in Gudhi and provide benchmarks for the code. The software, which has been developed by the first author, is available at project.inria.fr/gudhi/software/.
This paper introduces a new data structure, called simplex tree, to represent abstract simplicial complexes of any dimension. All faces of the simplicial complex are explicitly stored in a trie whose nodes are in bijection with the faces of the complex. This data structure allows to efficiently implement a large range of basic operations on simplicial complexes. We provide theoretical complexity analysis as well as detailed experimental results. We more specifically study Rips and witness complexes.Key-words: simplicial complexes, data structure, flag complexes, Rips complexes, witness complexes, relaxed witness complexes, high dimensions * INRIA Sophia Antipolis-Méditerranée † ENS Cachan Une structure de données arborescente pour représenter les complexes simpliciauxRésumé : Nous définissons dans cet article une nouvelle structure de données, appelée "simplex tree", pour représenter les complexes simpliciaux abstraits de toutes dimensions. Le complexe simplicial est représenté par un arbre préfixe dont les noeuds sont en bijection avec les faces du complexe. Cette structure de données permet de calculer efficacement un grand nombre d'opérations de bases sur les complexes simpliciaux. Nous développons dans cet article une analyse théorique de la complexité de ces algorithmes, ainsi qu'une analyse expérimentale détail-lée. Nous étudions plus particulièrement la construction des complexes de Rips et des witness complexes.
We introduce a new algorithm for computing zigzag persistence, designed in the same spirit as the standard persistence algorithm. Our algorithm reduces a single matrix, maintains an explicit set of chains encoding the persistent homology of the current zigzag, and updates it under simplex insertions and removals. The total worst-case running time matches the usual cubic bound.A noticeable difference with the standard persistence algorithm is that we do not insert or remove new simplices "at the end" of the zigzag, but rather "in the middle". To do so, we use arrow reflections and transpositions, in the same spirit as reflection functors in quiver theory. Our analysis introduces new kinds of reflections in quiver representation theory: the "injective and surjective diamonds". It also introduces the "transposition diamond" which models arrow transpositions. For each type of diamond we are able to predict the changes in the interval decomposition and associated compatible bases. Arrow transpositions have been studied previously in the context of standard persistent homology, and we extend the study to the context of zigzag persistence. For both types of transformations, we provide simple procedures to update the interval decomposition and associated compatible homology basis.
International audiencePersistent homology with coefficients in a field coincides with the samefor cohomology because of duality. We propose an implementation of a recently intro-duced algorithm for persistent cohomology that attaches annotation vectors with thesimplices. We separate the representation of the simplicial complex from the represen-tation of the cohomology groups, and introduce a new data structure for maintainingthe annotation matrix, which is more compact and reduces substantially the amountof matrix operations. In addition, we propose a heuristic to simplify further the repre-sentation of the cohomology groups and improve both time and space complexities.The paper provides a theoretical analysis, as well as a detailed experimental studyof our implementation and comparison with state-of-the-art software for persistenthomology and cohomology
We introduce a theoretical and computational framework to use discrete Morse theory as an efficient preprocessing in order to compute zigzag persistent homology.From a zigzag filtration of complexes (Xi), we introduce a zigzag Morse filtration whose complexes (Ai) are Morse reductions of the original complexes (Xi), and we prove that they both have same persistent homology. This zigzag Morse filtration generalizes the filtered Morse complex of Mischaikow and Nanda [34], defined for standard persistence.The maps in the zigzag Morse filtration are forward and backward inclusions, as is standard in zigzag persistence, as well as a new type of map inducing non trivial changes in the boundary operator of the Morse complex. We study in details this last map, and design algorithms to compute the update both at the complex level and at the homology matrix level when computing zigzag persistence. We deduce an algorithm to compute the zigzag persistence of a filtration that depends mostly on the number of critical cells of the complexes, and show experimentally that it performs better in practice.
The Turaev-Viro invariants are a powerful family of topological invariants for distinguishing between different 3-manifolds. They are invaluable for mathematical software, but current algorithms to compute them require exponential time.The invariants are parameterised by an integer r ≥ 3. We resolve the question of complexity for r = 3 and r = 4, giving simple proofs that computing Turaev-Viro invariants for r = 3 is polynomial time, but for r = 4 is #P-hard. Moreover, we give an explicit fixed-parameter tractable algorithm for arbitrary r, and show through concrete implementation and experimentation that this algorithm is practical-and indeed preferableto the prior state of the art for real computation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.