Status | |
Usage | |
Package | |
Legal |
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
.
pip install fast_pauli
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.
- 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
python -m pip install -e ".[dev]"
# Test
pytest -v tests/fast_pauli
# 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
# 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