Skip to main content

PErsistent Topological Laplacian Software: a Python Library to Compute Persistent Topological Laplacians

Project description

See the documentation for details on requirements, installation, and API usage.

Python Dependencies

  • Eigen version 3.4 or higher
  • pybind11
  • scipy
  • numpy
  • Boost

Python installation and usage

The simplest way to install is:

pip install petls

The next simplest is to clone the repository and run

pip install .

After that, you're all set:

   $ python
   >>> from petls import Rips
   >>> import numpy as np
   >>> points = np.array([[0, 0], [0, 3], [4, 0], [4, 3]])
   >>> complex = Rips(points, max_dim=3)
   >>> complex.spectra(dim=1, a=3, b=4)
   [2.0, 2.0]

C++ installation

First, make and enter the cpp/build directory.

   cd cpp
   mkdir build
   cd build

Next, we make and install the project. If you have root access:

   cmake ..
   sudo make all install

If you do not have root access (e.g. on an HPC):

   cmake -DCMAKE_INSTALL_PREFIX=<location> ..
   make all install

Usually CMAKE_INSTALL_PREFIX is something like ~/custom_libraries/.

For examples of how to include the library, see the examples directory, e.g. examples/basic_cpp/.

Acknowledgements

This work was supported in part by NIH grant R35GM148196, NSF grant DMS-2052983, and MSU Research Foundation.

Citation

If you wish to cite this work, please use the following citation:

@misc{jones2025petlspersistenttopologicallaplacian,
      title={PETLS: PErsistent Topological Laplacian Software}, 
      author={Benjamin Jones and Guo-Wei Wei},
      year={2025},
      eprint={2508.11560},
      archivePrefix={arXiv},
      primaryClass={math.AT},
      url={https://arxiv.org/abs/2508.11560}, 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

petls-1.0.1.tar.gz (33.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file petls-1.0.1.tar.gz.

File metadata

  • Download URL: petls-1.0.1.tar.gz
  • Upload date:
  • Size: 33.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for petls-1.0.1.tar.gz
Algorithm Hash digest
SHA256 46a7b2ba942d57ee64924abbcc670abd7e07e3a692d5d58deb8e257c77a59a34
MD5 d21ecbb30d112c446536f9ec2436394c
BLAKE2b-256 3843c489a558d5e7972e409b180d83663d2601406bea8be8fbc8cdcaa703ca47

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.1.tar.gz:

Publisher: build_wheels.yml on bdjones13/PETLS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1078de71f2a1ea59d13e937c0a2bbd4ab2258d91c33153f2ef7e5b2b09ddc971
MD5 9edf5d618cddf2d47312fb2bd425dd00
BLAKE2b-256 a8c1ed81f95dae4310b6240672cc539ca0d00d9c899c6b03f5706fbf3ca05a7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on bdjones13/PETLS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 97481f31498780bac87c25063fc0109df6688fc3705622b35b978e15a6775c2f
MD5 5db6433118e32019aac047abd23f0585
BLAKE2b-256 514f8968c962a2155e23ef9fe79042bd757a2970281e14fbdd59abfbd8bec07f

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on bdjones13/PETLS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3d842cfd580b896e710ef088abcce2c4634fe1be6aaebdbe44380b3898de2e9
MD5 b41e756560a6ef4a3ed81ec7fdb98ec6
BLAKE2b-256 48a5b49144ce08116654beb3246cabf35eda4e7b7af63f8dea302aa44296dea6

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on bdjones13/PETLS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66f1bef0aebd30ed837fc0812bcfa6dda1f3db54e3eb254a234ba0ab41de4cb8
MD5 c8265cd7c7ae085d558ddae55f620249
BLAKE2b-256 32b8f3e4e8bf527f200d0bd3726ccb2441aa65b95e2f860463b84938cdf79a4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on bdjones13/PETLS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page