Skip to content

DavidLapous/multipers

Repository files navigation

multipers : Multiparameter Persistence for Machine Learning

DOI Documentation Build, test
Scikit-style PyTorch-autodiff multiparameter persistent homology python library. This library aims to provide easy to use and performant strategies for applied multiparameter topology.
Meant to be integrated in the Gudhi library.

Compiled packages

Source Version Downloads Platforms
Conda Recipe Conda Version Conda Downloads Conda Platforms
pip Recipe PyPI  pip downloads

Quick start

This library allows computing several representations from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales. We provide some nice pictures in the documentation. A non-exhaustive list of features can be found in the Features section.

This library is available on pip and conda-forge for (reasonably up to date) Linux, macOS and Windows, via

pip install multipers

or

conda install multipers -c conda-forge

Windows support is experimental, and some core dependencies are not available on Windows. We hence recommend Windows user to use WSL.
A documentation and building instructions are available here.

Features, and linked projects

This library features a bunch of different functions and helpers. See below for a non-exhaustive list.
Filled box refers to implemented or interfaced code.

If I missed something, or you want to add something, feel free to open an issue.

Authors

David Loiseaux,
Hannah Schreiber (Persistence backend code),
Luis Scoccola (Möbius inversion in python, degree-rips using persistable and RIVET),
Mathieu Carrière (Sliced Wasserstein),
Odin Hoff Gardå (Delaunay Core bifiltration).

Citation

Please cite this library when using it in scientific publications; you can use the following journal bibtex entry

@article{multipers,
  title = {Multipers: {{Multiparameter Persistence}} for {{Machine Learning}}},
  shorttitle = {Multipers},
  author = {Loiseaux, David and Schreiber, Hannah},
  year = {2024},
  month = nov,
  journal = {Journal of Open Source Software},
  volume = {9},
  number = {103},
  pages = {6773},
  issn = {2475-9066},
  doi = {10.21105/joss.06773},
  langid = {english},
}

Contributions

Feel free to contribute, report a bug on a pipeline, or ask for documentation by opening an issue.
In particular, if you have a nice example or application that is not taken care in the documentation (see the ./docs/notebooks/ folder), please contact me to add it there.