quick
is an agnostic gate-based circuit SDK, providing an integrated interface for using any supported quantum circuit framework seamlessly, and provides a complete pipeline from construction of circuits to mapping on actual hardware.
- python 3.10, 3.11, 3.12
quick
can be installed with the command:
pip install quick-core
Pip will handle all dependencies automatically and you will always install the latest (and well-tested) version.
To install from source, follow the instructions in the documentation
.
The docs/examples are a good way for understanding how quick
works. Depending on your preference, you may use the package as end-to-end, or use it in parts for low-level modifications.
The /notebooks
directory contains pedagogical material for utilizing quick
:
Creating and Manipulating Circuits
: This notebook demonstrates the basics of creating quantum circuits, and how different existing frameworks have been integrated withinquick
.Preparing Quantum States and Operators
: This notebook demonstrates how to prepare arbitrary statevectors and unitary operators to quantum circuits using exact encoding schema.Running Quantum Circuits
: This notebook demonstrates the different backends available for running circuits, ranging from simulators to QPUs.
Run tests with the command:
py -m pytest tests
To run all tests including slow ones, use:
py -m pytest tests --runslow
If you'd like to contribute to quick
, please take a look at our contribution guidelines
. By participating, you are expected to uphold our code of conduct.
We use GitHub issues
for tracking requests and bugs.
If you wish to attribute/distribute our work, please cite the accompanying paper:
@article{malekaninezhad2024quick,
title={quick: {A} {H}igh-{L}evel {P}ython {L}ibrary for {I}ntegrating {Q}uantum {G}ate-based {F}rameworks},
author={Amir Ali Malekani Nezhad},
year={2024},
journal={arXiv preprint arXiv:TBD},
}
Distributed under Apache v2.0 License. See LICENSE
for details.