pith. sign in

arxiv: 2107.05412 · v2 · pith:SHMMAYIFnew · submitted 2021-07-12 · 💻 cs.CG · cs.MS

giotto-ph: A Python Library for High-Performance Computation of Persistent Homology of Vietoris-Rips Filtrations

classification 💻 cs.CG cs.MS
keywords implementationgiotto-phlibrarycollapsercomputationedgegudhihand
0
0 comments X
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.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Pruning vineyards: updating barcodes and representative cycles by removing simplices

    math.AT 2023-12 unverdicted novelty 7.0

    Introduces SiRUP algorithm to update reduced boundary matrix, barcodes, and representative cycles for simplex removals in filtrations, claiming lower complexity than recomputing from scratch.