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 Getting Started guide for an introduction to some of the core functionality in fast-pauli
and our Benchmarks for more details about how fast-pauli
can speed up certain functions compared to Qiskit.
Installation¶
In order to get started, we’ll need to install the package and its dependencies.
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)
In the following subsections, we describe several options for installing fast_pauli
.
Install the Latest Release¶
pip install fast_pauli
Build from Source (Linux)¶
git clone [email protected]:qognitive/fast-pauli.git
cd fast_pauli
python -m pip install -e ".[dev]"
Build from Source (MacOS)¶
git clone [email protected]:qognitive/fast-pauli.git
cd fast_pauli
python -m pip install --upgrade pip
python -m pip install scikit-build-core
brew install llvm
pip install -e . -C cmake.args="-DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++;-DCMAKE_CXX_FLAGS='-stdlib=libc++ -fexperimental-library'"
Build from Source (Custom Config)¶
git clone [email protected]:qognitive/fast-pauli.git
cd fast-pauli
python -m pip install --upgrade pip
python -m pip install scikit-build-core
python -m pip install --no-build-isolation -ve ".[dev]" -C cmake.args="-DCMAKE_CXX_COMPILER=<compiler> + <other cmake flags>"
Verify / Test Build¶
pytest -v tests/fast_pauli # + other pytest flags