Software for applied topology research
The applied topology field grows each day, and with this growth comes a variety of new tools. Our group has contributed to this effort, but we also appreciate the tools that others have created. This page is meant to serve as a resource for people to learn more about our work and to find additional tools that might be useful in their research.
Our software: Open Applied Topology
Open Applied Topology (OAT) is a library for fast, user-friendly algebra and topology.
OAT has:
OAT has:
1. a fast backend written in Rust, called oat_rust
2. a frontend for Python users, called oat_python 3. tutorials published as jupyter notebooks |
Additional tools
There is a tremendous amount of work going on in the computational topology community, so this page will be out of date shortly (and already misses plenty). Thus, this page is meant primarily to be a jumping-off point, not a comprehensive list. However, if you'd like me to add something, please let me know, and please don't be offended if you don't see something here -- all omissions are unintentional.
C++CHomP
Shaun Harker ChunkyEuler (also has python scripts) Teresa Heiss, Hubert Wagner CubicalRipser (with python wrapper) Takeki Sudo, Kazushi Ahara, Shizuo Kaji Cubicle (also has python scripts) Hubert Wagner Dionysus and Dionysis 2 Dmitriy Morozov flagser Daniel Lütgehetmann GHUDI Clément Maria, Pawel Dlotko, Vincent Rouvreau, François Godi, Siargey Kachanovich, and David Salinas giotto-tda (also Python) Umberto Lupo, Julian Burella Pérez, and Wojciech Reise (I believe - there may be more) Hera Michael Kerber, Dmitriy Morozov, and Arnur Nigmetov Perseus Vidit Nanda Persistence Landscape Toolbox Pawel Dlotko PHAT Ulrich Bauer, Michael Kerber, Jan Reininghaus, Hubert Wagner, and Bryn Keller Ripser-live (browser) and Ripser Ulrich Bauer Ripser++ (also Python, GPU) Birkan Gokbag, Ryan DeMilt, and Simon Zhang SimBa and SimPer Tamal K Dey, Fengtao Fan, Dayu Shi, and Yusu Wan Topology ToolKit Julien Tierny, Guillaume Favelier, Joshua Levine, Charles Gueunet, and Michaël Michaux (I think?) PythonDyNeuSR
Caleb Geniesse, Manish Saggar, Rafi Ayub, and Jeff Mentch Keppler Mapper Hendrik Jacob van Veen, Nathaniel Saul, David Eargle, and Sam Mangham (this is a guess based on their paper) Python Mapper Daniel Müllner and Aravindakshan Babu ripser.py Christopher Tralie and Nathaniel Saul JuliaRBallMapper
Pawel Dlotko R scripts for TDA Peter Bubenik TDA Brittany T. Fasy, Jisu Kim, Fabrizio Lecci, and Clément Maria TDAMapper Paul Pearson, Daniel Müellner, and Gurjeet Singh JavaJavaPlex
Andrew Tausz, Mikael Vejdemo-Johansson and Henry Adams MatlabCliqueTop
A previous Chad Giusti. (We include CliqueTop for historical reasons or Matlab-only applications. PyCliqueTop is a Python implementation of the same wrapper that uses the Ripser persistent homology solver and thus is dramatically more time- and memory-efficient. OAT does not currently implement the precise syntax or workflow of CliqueTop, but provides substantially more functionality than either alternative.) |