masspcf: A computational package for discrete objects in Python and C++#

masspcf is a Python package with a C++/CUDA backend for GPU-accelerated computations on piecewise constant functions (PCFs) and related discrete objects such as point clouds, persistence barcodes, and distance matrices. The primary audience is practitioners 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 core data structures are NumPy-like multidimensional tensors supporting slicing, broadcasting, arithmetic, and reductions. Key operations include pairwise \(L_p\) distance matrices, \(L_2\) kernels, norms, and persistent homology (via Ripser). The resulting distance matrices and kernels can be used directly with scikit-learn and other machine learning libraries for clustering, classification, and dimensionality reduction.

Getting started

Install masspcf, quick start examples, and tutorials.

Getting started
User guide

In-depth guides on core concepts, tensors, distances, persistence, and GPU acceleration.

User guide
API reference

Detailed descriptions of the Python API.

Python API reference
About

Citing masspcf, acknowledgments, and licensing.

About
Internals

Architecture of the C++/CUDA engine: block execution, double buffering, and extensibility.

Internals
Changelog

Release history and version notes.

Changelog

Indices and tables#