Metadata-Version: 2.4
Name: hyperfold-cuda
Version: 0.1.1
Summary: NumPy-first Hyperfold Python API with CPU and CUDA 13 backends
Author: Lorenzo Fritzsch
License-Expression: LicenseRef-Hyperfold-Freeware
License-File: LICENSE.txt
License-File: THIRD_PARTY_NOTICES.txt
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Project-URL: Documentation, https://www.braketware.com/hyperfold/index.html
Requires-Python: >=3.11
Requires-Dist: numpy>=1.26
Requires-Dist: ml_dtypes>=0.5.3
Requires-Dist: nvidia-cuda-runtime==13.0.96; platform_system == "Linux" and platform_machine == "x86_64"
Requires-Dist: nvidia-cublas==13.1.1.3; platform_system == "Linux" and platform_machine == "x86_64"
Requires-Dist: nvidia-cusolver==12.0.4.66; platform_system == "Linux" and platform_machine == "x86_64"
Description-Content-Type: text/markdown

# Hyperfold CUDA

Hyperfold provides numerical linear algebra for Python with CPU and CUDA 13
backends. Multiply matrices, solve linear systems, compute eigenvalues, and
reuse LU factorisations with NumPy arrays, CuPy arrays, or PyTorch CUDA tensors.

## Installation

Requires Python 3.11 or newer, Linux x86_64, and a compatible NVIDIA driver.

```bash
python -m pip install hyperfold-cuda
```

The package installs its CUDA runtime dependencies. CuPy and PyTorch are optional
and installed separately. For CPU-only use, install `hyperfold` instead; the two
packages share the `hyperfold` import name and must not be installed together.

## Quickstart

With CuPy installed:

```python
import cupy as cp
import hyperfold as hf

a = cp.array([[4, 1], [1, 3]], dtype=cp.float64)
b = cp.array([1, 2], dtype=cp.float64)

product = hf.matmul(a, a)
solution = hf.solve(a, b)
eigenvalues, eigenvectors = hf.eigh(a)
```

Results remain on the GPU as CuPy arrays. The same functions accept NumPy arrays
for CPU execution.

See the [documentation](https://www.braketware.com/hyperfold/index.html) for the
Python API, supported dtypes, and CUDA interoperability.
