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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79c1bd84516b03779197576a104d54402baac88c38249959ccc08294b71bc4e3
|
|
| MD5 |
5e214d39a59d366738cbd7fb498a386a
|
|
| BLAKE2b-256 |
f29a791088bc81416ce27408c66b67c1c4c50d846ecb4454b6b4c7d90f781f9f
|
Provenance
The following attestation bundles were made for petls-1.0.0.tar.gz:
Publisher:
build_wheels.yml on bdjones13/PETLS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petls-1.0.0.tar.gz -
Subject digest:
79c1bd84516b03779197576a104d54402baac88c38249959ccc08294b71bc4e3 - Sigstore transparency entry: 405371161
- Sigstore integration time:
-
Permalink:
bdjones13/PETLS@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bdjones13
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file petls-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: petls-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
220374d4870a0051205e35a458ee029c55c13a63d9d8d58ab264342f7d5ae235
|
|
| MD5 |
d7e75acb8dc6710d814c1bcb348b53a0
|
|
| BLAKE2b-256 |
d82bba078d2425e59d50ca0a35447b3606ec6669c3297c5eec16c0cc0bfbc264
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petls-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
220374d4870a0051205e35a458ee029c55c13a63d9d8d58ab264342f7d5ae235 - Sigstore transparency entry: 405371190
- Sigstore integration time:
-
Permalink:
bdjones13/PETLS@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bdjones13
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file petls-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: petls-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd9e64f6830635759e736708d7deed3bac773503a88728c38a76285e8e6da0e4
|
|
| MD5 |
bee0b9152684a1d74b8aba9123fce2c7
|
|
| BLAKE2b-256 |
f3d635de50d0b5ec8bc242acb8a54819584cbfb71c22af4178f1dd9cfb420b33
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petls-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
dd9e64f6830635759e736708d7deed3bac773503a88728c38a76285e8e6da0e4 - Sigstore transparency entry: 405371196
- Sigstore integration time:
-
Permalink:
bdjones13/PETLS@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bdjones13
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file petls-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: petls-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c003ebfaa6c08ac3a37f42fd6fcf0d336efa4fdacbfb8faa2651fad6ade2396
|
|
| MD5 |
f47c12dd1ad0c17a4806125d1b9a47c6
|
|
| BLAKE2b-256 |
8d9acada4d17cca236f21beb9f089314b2cdba21c562e6f7c3b7ddd98bd7e9b8
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petls-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
5c003ebfaa6c08ac3a37f42fd6fcf0d336efa4fdacbfb8faa2651fad6ade2396 - Sigstore transparency entry: 405371183
- Sigstore integration time:
-
Permalink:
bdjones13/PETLS@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bdjones13
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file petls-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: petls-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49477b64cbec67e3c83c9660299435aa236129c6251543fd1f5a6ceac0b49f5d
|
|
| MD5 |
fc1914747f0d74b43693fc1b810a2b89
|
|
| BLAKE2b-256 |
4ce3ef2a4700b3635aba616a170f5346ea38cad183106bd22b031e4474c9c368
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
petls-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
49477b64cbec67e3c83c9660299435aa236129c6251543fd1f5a6ceac0b49f5d - Sigstore transparency entry: 405371173
- Sigstore integration time:
-
Permalink:
bdjones13/PETLS@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bdjones13
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@7db25fbcd7bc89c986aa58ec1e549e1585b96ed4 -
Trigger Event:
release
-
Statement type: