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.

Build

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.0.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.0-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.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: petls-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 79c1bd84516b03779197576a104d54402baac88c38249959ccc08294b71bc4e3
MD5 5e214d39a59d366738cbd7fb498a386a
BLAKE2b-256 f29a791088bc81416ce27408c66b67c1c4c50d846ecb4454b6b4c7d90f781f9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.0.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.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 220374d4870a0051205e35a458ee029c55c13a63d9d8d58ab264342f7d5ae235
MD5 d7e75acb8dc6710d814c1bcb348b53a0
BLAKE2b-256 d82bba078d2425e59d50ca0a35447b3606ec6669c3297c5eec16c0cc0bfbc264

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.0-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.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd9e64f6830635759e736708d7deed3bac773503a88728c38a76285e8e6da0e4
MD5 bee0b9152684a1d74b8aba9123fce2c7
BLAKE2b-256 f3d635de50d0b5ec8bc242acb8a54819584cbfb71c22af4178f1dd9cfb420b33

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.0-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.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5c003ebfaa6c08ac3a37f42fd6fcf0d336efa4fdacbfb8faa2651fad6ade2396
MD5 f47c12dd1ad0c17a4806125d1b9a47c6
BLAKE2b-256 8d9acada4d17cca236f21beb9f089314b2cdba21c562e6f7c3b7ddd98bd7e9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.0-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.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for petls-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49477b64cbec67e3c83c9660299435aa236129c6251543fd1f5a6ceac0b49f5d
MD5 fc1914747f0d74b43693fc1b810a2b89
BLAKE2b-256 4ce3ef2a4700b3635aba616a170f5346ea38cad183106bd22b031e4474c9c368

See more details on using hashes here.

Provenance

The following attestation bundles were made for petls-1.0.0-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