Skip to main content

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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

masspcf_cpu-0.3.2-pp310-pypy310_pp73-win_amd64.whl (560.5 kB view details)

Uploaded PyPyWindows x86-64

masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (561.0 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

masspcf_cpu-0.3.2-cp313-cp313-win_amd64.whl (294.6 kB view details)

Uploaded CPython 3.13Windows x86-64

masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (592.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (564.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

masspcf_cpu-0.3.2-cp313-cp313-macosx_11_0_arm64.whl (523.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

masspcf_cpu-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl (565.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

masspcf_cpu-0.3.2-cp312-cp312-win_amd64.whl (294.7 kB view details)

Uploaded CPython 3.12Windows x86-64

masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (592.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (564.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

masspcf_cpu-0.3.2-cp312-cp312-macosx_11_0_arm64.whl (523.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

masspcf_cpu-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl (565.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

masspcf_cpu-0.3.2-cp311-cp311-win_amd64.whl (293.2 kB view details)

Uploaded CPython 3.11Windows x86-64

masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (594.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (564.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

masspcf_cpu-0.3.2-cp311-cp311-macosx_11_0_arm64.whl (522.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

masspcf_cpu-0.3.2-cp311-cp311-macosx_10_13_x86_64.whl (562.6 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

masspcf_cpu-0.3.2-cp310-cp310-win_amd64.whl (292.4 kB view details)

Uploaded CPython 3.10Windows x86-64

masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (594.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (563.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

masspcf_cpu-0.3.2-cp310-cp310-macosx_11_0_arm64.whl (520.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

masspcf_cpu-0.3.2-cp310-cp310-macosx_10_13_x86_64.whl (559.6 kB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

File details

Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 de43a7e317d0cea96639437989f1d272a7c4d63a23c4f6bb9d45061a7ba0da92
MD5 34f1d6e415399b051e2ab769be1999cc
BLAKE2b-256 86f8436057eda6214c43407a4ffb1d65fb0c72ccda3a6b7f25976684916a82ba

See more details on using hashes here.

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

File hashes

Hashes for masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa70fbf25521187143785568e1ac50cde776e74a741c8b6d84f3e0eaa047022d
MD5 5e10c45686fc02aa5a1e6e05267c7a59
BLAKE2b-256 6f2b885c81b993524de58b0aa72867e034e070d7973861cd0183e01d902ff0d0

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4fded01b6fc353f46f5d127e2517e589824768f78ab9cfe34fca1a102e788f00
MD5 11d92c1ddf43084a39b36731d89752f5
BLAKE2b-256 9418551a4b69b522147c403a111b328b964be63347f28e2433ac308bbc4352a4

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7c7553cbb9ab6f027d6d9e3997b628132af8a6b673ebf4fab6ca8b10bcf2d6a
MD5 06d11f4d3e152073d2d242ae537c236f
BLAKE2b-256 e560fd7bc924be5659c2f43612b8a0c5271184aee3e4b89ec81b3eca01d6597e

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9ac0677f2ed46b69c9c50b0db18012594f11239dbf854435c3ab1c9adcd9d773
MD5 e13a75075f4a70985300e1761f5e2626
BLAKE2b-256 1425ce0e9bd57920f139e98a00d531236bf45ef84bf86d488f71c2a74ee0fbe2

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a3943bdcffb19b25daa818f4349dbaf4f2dc07326d6cd7ae90c28d36def2044b
MD5 773623ea98a61b7d71c6a9ef79377085
BLAKE2b-256 3548d363b51bd77cc541d71b0bed66ada852e6d30ae1dea7bad89bc5def6ca9c

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54799dcd94df823500d9228b80482a5a102048fb0883f8a70aef2851068f0f84
MD5 bb9487f4ebe552789ced75001a946a55
BLAKE2b-256 b9ce1ed1f121adde19c1de431f501ca1bbd13ec73f98dda3d740266a7860c686

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e68061994f901c1e2b509c95f747fe5e820374ed3dd8f5351b55c830175d211f
MD5 05ac3ff1db3fa8b1b7cf3760e254306c
BLAKE2b-256 ca24fabe038db05b40164a8e5f0a7f7a20f1bbe847157a4d9f86418a978b7c77

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a87d31f468330488892982535c673f267feb6e5e7329b97734a69351f026fe32
MD5 d041fc1d7cd225721e52f630f682ed9e
BLAKE2b-256 3c89232bfb130b96f87d62a21a4494756efd442341876bf989e5560ec773b735

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ef2a884921e73fb59aad8352f89ca76c5a5920e4c06a23ebea0fc7fb3665c1fa
MD5 9771173e4d175bbd0831dd8b6c4fad43
BLAKE2b-256 4965b6c3b015b9b97cb3038c8f422c98d5816af1a29fd69f7061396f0d1625e6

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 15c1396fb59a3ae6336fe57da6e886ac432933c09536bfd77b923da610abca73
MD5 ea13bb72849bd6a184b9355057b12a88
BLAKE2b-256 44d6cb3306c53f0f643fbd2527066ba49780cb8ea63c990dfeaab55de7da7c7c

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 597c38c9baf89f77e79175760cf09d0f8307cad1bf234b67e04b17415a565935
MD5 00f37077d5f3905e6d25dedb9686a245
BLAKE2b-256 8de3b8bd2b1fb60c5b91fa7b0faa1392bbaedfaa41201f0ef96f943d3efacd94

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 344c72bdbdeb036c3cba4cb461f6e24994a32822db727f42cfc8aadca6dcf517
MD5 88efb9111281afaa86d15910363922a8
BLAKE2b-256 58c35f289e18aa2422c177f837d0f7d2b41a789ec924606a9e4fe8947f1d42f5

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63b4e82d75ebbfa48df5274b8b1814fbefb24a423b5b83f33c40c962822ac583
MD5 f924e8a4d42aeb0d2f5c3329393da14d
BLAKE2b-256 c4244dcea29786d08d5f3d62bbc1d1ce9c813a7f36d8346d0c3cfd69b179f395

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b726e3ea8d73d86aeefd141e01498d1c3646510e2b75158bc316a7c49fa2a179
MD5 8813677de67464c1d01cff0db3387be9
BLAKE2b-256 80c8cc2510640aa512a5381ca8e9c18add0653bc1b433a6f008b0c1a7113e8db

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8df28978d6ca5fccd3ff520c651cc3f615a24e9b9b509f2c3792e4e125341d08
MD5 cccd4f4a918adb349d0f3ddea6bfa5a4
BLAKE2b-256 4255519c94114a6ae896adfe5b66acf994d114638b42432d7c7604c938334fea

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be32c4a5161ee5ad09e4a364cfd870ff68e0a57a123258c01b1a8073fa667b28
MD5 43d7ac882c3a1c610a9e772b30089f97
BLAKE2b-256 468bfa103038a53e2d5ec5b026f053c0cc342051347e8dfecac46112625116e7

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb7c82629d7d15675649c84f2c379f3b9c4b097a519df4d8c48abfde2ab7d0fd
MD5 28750f9c09171cca1f2a1d9e1e9154a5
BLAKE2b-256 6b25b32c68d7a86a23b20f01a224815dc6242e37ed6b01090e4575a0b3b1ca82

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09640360e736ec00d293b72048c90dd8995b864f9b8956358ab99d1c85337105
MD5 d3db54914b3a4eb235e9f65373a20f4e
BLAKE2b-256 c43d946530fcbc3e0d5eb7bcab737737712ad7ca10db91147b596480036f1d7e

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4f3d0ba2cb601257e5961777e2d4ed226d045d714bbcef8c320eeb1e56748ee1
MD5 d9fc38d8fb4543c4f6f52739ccbeab6f
BLAKE2b-256 254b3fe9dcd33376b2c222d2be7121a10e1b38846505a1783983c23d0af42ced

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 191e08c04eb1d795a2f79980a7ae668aa848ca4cdf60ae2a27a4e38feea3f098
MD5 d24820386616619ff2e9ad73d2f725eb
BLAKE2b-256 157f14cabc26185f558487343e8404e8c30aa9edb04c0a0d3e12fd6ed1825096

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a38610137e348e0c08a6148a627707feedbfa4e0b7687a6637258e7e8695d573
MD5 0d0315d468ef62d0876f3e72390455c7
BLAKE2b-256 47e3863d0b534a35b69c70865eaec98801c8b9ded67da7d69f066c17f686c1cf

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54651c09bdc91aa617a9e0879463542d9036decbac121acbe657d3220435eadc
MD5 7ed2e9e75c7de4d26a96e91f1e0d79e8
BLAKE2b-256 48a06ba03c3ba56095526eae940e3bb6aaaad225faa938309aa9c120882787ef

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a79f3ca9202557658306b6b0cc36fe292a189ffaf770dcaab834ac385846f70
MD5 ad9978cf3a7f42f6c37f32badb467ea4
BLAKE2b-256 d9b29ccd00d72238f0bfd5c93607d45364fb9619411a9af35909a1e35107cecc

See more details on using hashes here.

File details

Details for the file masspcf_cpu-0.3.2-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for masspcf_cpu-0.3.2-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 95e85de1aeca4d0326b54a0f90f36585977e1e8bd50bce95a265b10f60262131
MD5 5c73a62a7c9e383914528d3dcc030a61
BLAKE2b-256 8c671c809792a1512b14819c336a5f45301d9d266c446be464504ef80ebf32ea

See more details on using hashes here.

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