.. fast_pauli documentation master file, created by sphinx-quickstart on Fri Sep 20 16:32:39 2024. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. figure:: https://raw.githubusercontent.com/qognitive/fast-pauli/refs/heads/main/docs/logo/FP-banner.svg :alt: Fast Pauli logo .. toctree:: :maxdepth: 1 :caption: Contents getting_started benchmarks python_api cpp_api Introduction ============ Welcome to :code:`fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings, inspired by `PauliComposer `_ paper. :code:`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, :code:`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 :doc:`getting_started` guide for an introduction to some of the core functionality in :code:`fast-pauli` and our :doc:`benchmarks` for more details about how :code:`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 -------------------------- .. code-block:: bash pip install fast_pauli Build from Source (Linux) ----------------------------------------- .. code-block:: bash git clone git@github.com:qognitive/fast-pauli.git cd fast_pauli python -m pip install -e ".[dev]" Build from Source (MacOS) ----------------------------------------- .. code-block:: bash git clone git@github.com: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) --------------------------------- .. code-block:: bash git clone git@github.com: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= + " Verify / Test Build ------------------- .. code-block:: bash pytest -v tests/fast_pauli # + other pytest flags