giotto-ph: A Python Library for High-Performance Computation of Persistent Homology of Vietoris-Rips Filtrations
read the original abstract
We introduce giotto-ph, a high-performance, open-source software package for the computation of Vietoris-Rips barcodes. giotto-ph is based on Morozov and Nigmetov's lockfree (multicore) implementation of Ulrich Bauer's Ripser package. It also contains a re-working of the GUDHI library's implementation of Boissonnat and Pritam's Edge Collapser, which can be used as a pre-processing step to dramatically reduce overall run-times in certain scenarios. Our contribution is twofold: on the one hand, we integrate existing state-of-the-art ideas coherently in a single library and provide Python bindings to the C++ code. On the other hand, we increase parallelization opportunities and improve overall performance by adopting more efficient data structures. Our persistent homology backend establishes a new state of the art, surpassing even GPU-accelerated implementations such as Ripser++ when using as few as 5-10 CPU cores. Furthermore, our implementation of Edge Collapser has fewer software dependencies and improved run-times relative to GUDHI's original implementation.
This paper has not been read by Pith yet.
Forward citations
Cited by 1 Pith paper
-
Pruning vineyards: updating barcodes and representative cycles by removing simplices
Introduces SiRUP algorithm to update reduced boundary matrix, barcodes, and representative cycles for simplex removals in filtrations, claiming lower complexity than recomputing from scratch.
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.