Massively parallel computations for piecewise constant functions
Project description
masspcf
Copyright 2024 Björn H. Wehlin
Description
masspcf is a Python package with its backend written in C++ and CUDA for performing highly scalable computations involving piecewise constant functions (PCFs). The primary audience is practicioners within Topological Data Analysis (TDA) wanting to do statistical analysis on invariants such as stable rank, Euler characteristic curves, Betti curves, and so on.
The basic objects are numpy-like (multidimensional) arrays of PCFs, on which we support reductions such as taking averages across a dimension, etc. For 1-D arrays, we compute Lp distance matrices and L2 kernels that can then be used as input for, e.g., clustering, SVMs, and other machine learning algorithms.
Installing
masspcf can be used on all three major platforms. Currently, users must install the CUDA toolkit locally (for Windows and Linux) to build masspcf. In addition, a compiler supporting C++ >=17 is required.
The latest released version of the package can be obtained via PyPI.
pip install masspcf
For any issues installing or using masspcf, please file an issue on this GitHub repo.
Citing
If you use masspcf in your research, please use the following BibTeX citation.
@misc{masspcf,
title={Massively Parallel Computation of Similarity Matrices from Piecewise Constant Invariants},
author={Bj\"{o}rn H. Wehlin},
year={2024},
eprint={2404.07183},
archivePrefix={arXiv},
primaryClass={stat.CO}
}
Acknowledgment
This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation.
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 Distributions
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 masspcf_cpu-0.3.2-pp310-pypy310_pp73-win_amd64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-pp310-pypy310_pp73-win_amd64.whl
- Upload date:
- Size: 560.5 kB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de43a7e317d0cea96639437989f1d272a7c4d63a23c4f6bb9d45061a7ba0da92
|
|
| MD5 |
34f1d6e415399b051e2ab769be1999cc
|
|
| BLAKE2b-256 |
86f8436057eda6214c43407a4ffb1d65fb0c72ccda3a6b7f25976684916a82ba
|
File details
Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa70fbf25521187143785568e1ac50cde776e74a741c8b6d84f3e0eaa047022d
|
|
| MD5 |
5e10c45686fc02aa5a1e6e05267c7a59
|
|
| BLAKE2b-256 |
6f2b885c81b993524de58b0aa72867e034e070d7973861cd0183e01d902ff0d0
|
File details
Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: PyPy, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fded01b6fc353f46f5d127e2517e589824768f78ab9cfe34fca1a102e788f00
|
|
| MD5 |
11d92c1ddf43084a39b36731d89752f5
|
|
| BLAKE2b-256 |
9418551a4b69b522147c403a111b328b964be63347f28e2433ac308bbc4352a4
|
File details
Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7c7553cbb9ab6f027d6d9e3997b628132af8a6b673ebf4fab6ca8b10bcf2d6a
|
|
| MD5 |
06d11f4d3e152073d2d242ae537c236f
|
|
| BLAKE2b-256 |
e560fd7bc924be5659c2f43612b8a0c5271184aee3e4b89ec81b3eca01d6597e
|
File details
Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
- Upload date:
- Size: 561.0 kB
- Tags: PyPy, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ac0677f2ed46b69c9c50b0db18012594f11239dbf854435c3ab1c9adcd9d773
|
|
| MD5 |
e13a75075f4a70985300e1761f5e2626
|
|
| BLAKE2b-256 |
1425ce0e9bd57920f139e98a00d531236bf45ef84bf86d488f71c2a74ee0fbe2
|
File details
Details for the file masspcf_cpu-0.3.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 294.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3943bdcffb19b25daa818f4349dbaf4f2dc07326d6cd7ae90c28d36def2044b
|
|
| MD5 |
773623ea98a61b7d71c6a9ef79377085
|
|
| BLAKE2b-256 |
3548d363b51bd77cc541d71b0bed66ada852e6d30ae1dea7bad89bc5def6ca9c
|
File details
Details for the file masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 592.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54799dcd94df823500d9228b80482a5a102048fb0883f8a70aef2851068f0f84
|
|
| MD5 |
bb9487f4ebe552789ced75001a946a55
|
|
| BLAKE2b-256 |
b9ce1ed1f121adde19c1de431f501ca1bbd13ec73f98dda3d740266a7860c686
|
File details
Details for the file masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 564.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e68061994f901c1e2b509c95f747fe5e820374ed3dd8f5351b55c830175d211f
|
|
| MD5 |
05ac3ff1db3fa8b1b7cf3760e254306c
|
|
| BLAKE2b-256 |
ca24fabe038db05b40164a8e5f0a7f7a20f1bbe847157a4d9f86418a978b7c77
|
File details
Details for the file masspcf_cpu-0.3.2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 523.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a87d31f468330488892982535c673f267feb6e5e7329b97734a69351f026fe32
|
|
| MD5 |
d041fc1d7cd225721e52f630f682ed9e
|
|
| BLAKE2b-256 |
3c89232bfb130b96f87d62a21a4494756efd442341876bf989e5560ec773b735
|
File details
Details for the file masspcf_cpu-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 565.7 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef2a884921e73fb59aad8352f89ca76c5a5920e4c06a23ebea0fc7fb3665c1fa
|
|
| MD5 |
9771173e4d175bbd0831dd8b6c4fad43
|
|
| BLAKE2b-256 |
4965b6c3b015b9b97cb3038c8f422c98d5816af1a29fd69f7061396f0d1625e6
|
File details
Details for the file masspcf_cpu-0.3.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 294.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15c1396fb59a3ae6336fe57da6e886ac432933c09536bfd77b923da610abca73
|
|
| MD5 |
ea13bb72849bd6a184b9355057b12a88
|
|
| BLAKE2b-256 |
44d6cb3306c53f0f643fbd2527066ba49780cb8ea63c990dfeaab55de7da7c7c
|
File details
Details for the file masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 592.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
597c38c9baf89f77e79175760cf09d0f8307cad1bf234b67e04b17415a565935
|
|
| MD5 |
00f37077d5f3905e6d25dedb9686a245
|
|
| BLAKE2b-256 |
8de3b8bd2b1fb60c5b91fa7b0faa1392bbaedfaa41201f0ef96f943d3efacd94
|
File details
Details for the file masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 564.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
344c72bdbdeb036c3cba4cb461f6e24994a32822db727f42cfc8aadca6dcf517
|
|
| MD5 |
88efb9111281afaa86d15910363922a8
|
|
| BLAKE2b-256 |
58c35f289e18aa2422c177f837d0f7d2b41a789ec924606a9e4fe8947f1d42f5
|
File details
Details for the file masspcf_cpu-0.3.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 523.6 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63b4e82d75ebbfa48df5274b8b1814fbefb24a423b5b83f33c40c962822ac583
|
|
| MD5 |
f924e8a4d42aeb0d2f5c3329393da14d
|
|
| BLAKE2b-256 |
c4244dcea29786d08d5f3d62bbc1d1ce9c813a7f36d8346d0c3cfd69b179f395
|
File details
Details for the file masspcf_cpu-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 565.4 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b726e3ea8d73d86aeefd141e01498d1c3646510e2b75158bc316a7c49fa2a179
|
|
| MD5 |
8813677de67464c1d01cff0db3387be9
|
|
| BLAKE2b-256 |
80c8cc2510640aa512a5381ca8e9c18add0653bc1b433a6f008b0c1a7113e8db
|
File details
Details for the file masspcf_cpu-0.3.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 293.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8df28978d6ca5fccd3ff520c651cc3f615a24e9b9b509f2c3792e4e125341d08
|
|
| MD5 |
cccd4f4a918adb349d0f3ddea6bfa5a4
|
|
| BLAKE2b-256 |
4255519c94114a6ae896adfe5b66acf994d114638b42432d7c7604c938334fea
|
File details
Details for the file masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 594.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be32c4a5161ee5ad09e4a364cfd870ff68e0a57a123258c01b1a8073fa667b28
|
|
| MD5 |
43d7ac882c3a1c610a9e772b30089f97
|
|
| BLAKE2b-256 |
468bfa103038a53e2d5ec5b026f053c0cc342051347e8dfecac46112625116e7
|
File details
Details for the file masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 564.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb7c82629d7d15675649c84f2c379f3b9c4b097a519df4d8c48abfde2ab7d0fd
|
|
| MD5 |
28750f9c09171cca1f2a1d9e1e9154a5
|
|
| BLAKE2b-256 |
6b25b32c68d7a86a23b20f01a224815dc6242e37ed6b01090e4575a0b3b1ca82
|
File details
Details for the file masspcf_cpu-0.3.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 522.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09640360e736ec00d293b72048c90dd8995b864f9b8956358ab99d1c85337105
|
|
| MD5 |
d3db54914b3a4eb235e9f65373a20f4e
|
|
| BLAKE2b-256 |
c43d946530fcbc3e0d5eb7bcab737737712ad7ca10db91147b596480036f1d7e
|
File details
Details for the file masspcf_cpu-0.3.2-cp311-cp311-macosx_10_13_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp311-cp311-macosx_10_13_x86_64.whl
- Upload date:
- Size: 562.6 kB
- Tags: CPython 3.11, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3d0ba2cb601257e5961777e2d4ed226d045d714bbcef8c320eeb1e56748ee1
|
|
| MD5 |
d9fc38d8fb4543c4f6f52739ccbeab6f
|
|
| BLAKE2b-256 |
254b3fe9dcd33376b2c222d2be7121a10e1b38846505a1783983c23d0af42ced
|
File details
Details for the file masspcf_cpu-0.3.2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 292.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
191e08c04eb1d795a2f79980a7ae668aa848ca4cdf60ae2a27a4e38feea3f098
|
|
| MD5 |
d24820386616619ff2e9ad73d2f725eb
|
|
| BLAKE2b-256 |
157f14cabc26185f558487343e8404e8c30aa9edb04c0a0d3e12fd6ed1825096
|
File details
Details for the file masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 594.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a38610137e348e0c08a6148a627707feedbfa4e0b7687a6637258e7e8695d573
|
|
| MD5 |
0d0315d468ef62d0876f3e72390455c7
|
|
| BLAKE2b-256 |
47e3863d0b534a35b69c70865eaec98801c8b9ded67da7d69f066c17f686c1cf
|
File details
Details for the file masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 563.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54651c09bdc91aa617a9e0879463542d9036decbac121acbe657d3220435eadc
|
|
| MD5 |
7ed2e9e75c7de4d26a96e91f1e0d79e8
|
|
| BLAKE2b-256 |
48a06ba03c3ba56095526eae940e3bb6aaaad225faa938309aa9c120882787ef
|
File details
Details for the file masspcf_cpu-0.3.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 520.6 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a79f3ca9202557658306b6b0cc36fe292a189ffaf770dcaab834ac385846f70
|
|
| MD5 |
ad9978cf3a7f42f6c37f32badb467ea4
|
|
| BLAKE2b-256 |
d9b29ccd00d72238f0bfd5c93607d45364fb9619411a9af35909a1e35107cecc
|
File details
Details for the file masspcf_cpu-0.3.2-cp310-cp310-macosx_10_13_x86_64.whl.
File metadata
- Download URL: masspcf_cpu-0.3.2-cp310-cp310-macosx_10_13_x86_64.whl
- Upload date:
- Size: 559.6 kB
- Tags: CPython 3.10, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95e85de1aeca4d0326b54a0f90f36585977e1e8bd50bce95a265b10f60262131
|
|
| MD5 |
5c73a62a7c9e383914528d3dcc030a61
|
|
| BLAKE2b-256 |
8c671c809792a1512b14819c336a5f45301d9d266c446be464504ef80ebf32ea
|