Code Monkey home page Code Monkey logo

steenroder: A Python package for the computation of persistence Steenrod barcodes

The widespread use in applied topology of the barcode of filtered cellular complexes rests on a balance between discriminatory power and computability. It has long been envision that the strength of this invariant could be increase using cohomology operations. This package computes the recently defined Sqk-barcodes which have been shown to effectively increase the discriminatory power of barcodes on real-world data.

For a complete presentation of these invariants please consult Persistence Steenrod modules by U. Lupo, A. Medina-Mardones and G. Tauzin.

License

steenroder is distributed under the MIT license.

Documentation

Please visit https://steenroder.github.io/steenroder/ and navigate to the version you are interested in.

A number of tutorial notebooks are available in notebooks/. Example notebooks that reproduce the case studies explored in the paper are available in notebooks/examples/.

Installation

Dependencies

The latest stable version of steenroder requires:

  • python (>= 3.8)
  • numpy (>= 1.19.1)
  • numba (>= 0.53.0)
  • psutils (>= 5.8.0)
  • gudhi (>= 3.5.0)
  • plotly (>= 5.3.1)

To run the examples, jupyter is required.

Installation

The simplest way to install steenroder is using pip :

python -m pip install -U steenroder

If necessary, this will also automatically install all the above dependencies. Note: we recommend upgrading pip to a recent version as the above may fail on very old versions.

Contributing

We welcome new contributors of all experience levels. The Steenroder community goals are to be helpful, welcoming, and effective. To learn more about making a contribution to steenroder, please consult the relevant page.

Testing

After developer installation, you can launch the test suite from outside the source directory:

pytest steenroder

Citing steenroder

If you use steenroder in a scientific publication, we would appreciate citations to the following paper:

Persistence Steenrod modules

You can use the following BibTeX entry:

@article{steenroder,
   author = {{Lupo}, Umberto and {Medina-Mardones}, Anibal M. and {Tauzin}, Guillaume},
   title = "{Persistence Steenrod modules}",
   journal = {Journal of Applied and Computational Topology},
   year = {2022},
   doi = {10.1007/s41468-022-00093-7},
   URL = {https://doi.org/10.1007/s41468-022-00093-7}
}

Contacts

[email protected]

Steenroder's Projects

steenroder_cpp icon steenroder_cpp

A C++ library for the computation of persistent steenrod barcodes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.