fast pauli
Project description
Status | |
Usage | |
Package | |
Legal |
Introduction
Welcome to fast-pauli
from Qognitive, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings,
inspired by PauliComposer paper.
fast-pauli
aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings,
with a focus on performance and usability.
For example, fast-pauli
provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector.
See our benchmarks for more details about how fast-pauli
can speed up certain functions compared to Qiskit.
Our Getting Started guide offers an introduction to some of the core functionality in fast-pauli
.
Installation
Pre-built Binaries
pip install fast_pauli
From Source
There are two strategies for building fast_pauli
from source. One is a quick and easy method that uses all the default configuration settings. The other is a more configurable method that involves invoking CMake
, pip
, pytest
, and other tools directly.
Requirements
- CMake >= 3.25
- Ninja >= 1.11
- C++ compiler with OpenMP and C++20 support (LLVM recommended)
- Python >= 3.10
- scikit-build-core (ONLY for building from source with custom configuration)
Build from Source (Linux)
# Build
python -m pip install -e ".[dev]"
# Test
pytest -v tests/fast_pauli
Build from Source (MacOS)
# Setup
python -m pip install --upgrade pip
python -m pip install scikit-build-core
brew install llvm
# Build
pip install -e . -C cmake.args="-DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++;-DCMAKE_CXX_FLAGS='-stdlib=libc++ -fexperimental-library'"
# Test
pytest -v tests/fast_pauli # + other pytest flags
Build from Source (Custom Configuration)
# Setup
python -m pip install --upgrade pip
python -m pip install scikit-build-core
# Build
python -m pip install --no-build-isolation -ve ".[dev]" -C cmake.args="-DCMAKE_CXX_COMPILER=<compiler> + <other cmake flags>"
# Test
pytest -v tests/fast_pauli # + other pytest flags
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
File details
Details for the file fast_pauli-0.0.30.tar.gz
.
File metadata
- Download URL: fast_pauli-0.0.30.tar.gz
- Upload date:
- Size: 161.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e10679b9f7b50c0d1e8f58a97766a518649aa4db94ab2631e5e044ddc17728b9 |
|
MD5 | 0fed0241eeb7f71b70af3a9de8f481cb |
|
BLAKE2b-256 | 74ce9abb56ba19738ade83cae558879c2f537b094d3890c3a46223c901c8e3cf |
File details
Details for the file fast_pauli-0.0.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: fast_pauli-0.0.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 350.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d974b416e94568c3382b224488fc318e85d00974f9016bddb877f494a2aa901 |
|
MD5 | af0253d33aa89208da97c8b227999823 |
|
BLAKE2b-256 | ebdc53b1f74ea977d863ff198f1bb9e9fdbc7af25a7d10ea6aabae669e380b10 |
File details
Details for the file fast_pauli-0.0.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: fast_pauli-0.0.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 350.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c80e7f22f2b44564800a1cf03bf9a44de6fac936a636c180f24424b4da20208f |
|
MD5 | 461d06df6ed9a768b42a9e57fcd7ef17 |
|
BLAKE2b-256 | 10cfd8e6abfa4d9fc68d7536b0f05f61d267c55db6d91d0ca7fa0c0e1d13650c |
File details
Details for the file fast_pauli-0.0.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: fast_pauli-0.0.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 352.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71c6b869bd47c59b1f774b3f89a8f118593e17e8d085d161b14460b379fcff01 |
|
MD5 | 24c1a35d86cd825e27344fb0d7f171dd |
|
BLAKE2b-256 | 418b1dec3d0f457496ce8d21aa338dd0506fea6e71acc3f8df1476bbaf639c68 |
File details
Details for the file fast_pauli-0.0.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: fast_pauli-0.0.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 352.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8cc4e06b495b9dc05946ed6a6acf91f1b66e265d7e4e008ec96242b5e1474ae |
|
MD5 | 4032cb9c74fcbc464a30856b196a5219 |
|
BLAKE2b-256 | 7526d3daa63f1b4fe4ec2cd5c57fb5031499af38dd0eebf4eb1697a226752dea |