Pasqal interface for circuit-based quantum computing SDKs
Project description
Qadence
Qadence is a Python package that provides a simple interface to build digital-analog quantum programs with tunable qubit interaction defined on arbitrary register topologies realizable on neutral atom devices.
Documentation can be found here.
Feature highlights
-
A block-based system for composing complex digital-analog programs in a flexible and scalable manner, inspired by the Julia quantum SDK Yao.jl and functional programming concepts.
-
A simple interface to work with interacting neutral-atom qubit systems using arbitrary registers topologies.
-
An intuitive expression-based system developed on top of the symbolic library Sympy to construct parametric quantum programs easily.
-
[High-order generalized parameter shift rules](link to psr tutorial) for differentiating parametrized quantum operations.
-
Out-of-the-box automatic differentiability of quantum programs with PyTorch integration.
-
Efficient execution on a variety of different purpose backends: from state vector simulators to tensor network emulators and real devices.
Installation guide
Qadence can be installed from PyPI with pip
as follows:
pip install qadence
The default backend for Qadence is PyQTorch, a differentiable state vector simulator for digital-analog simulation. It is possible to install additional backends and the circuit visualization library using the following extras:
braket
: the Braket backend.pulser
: the Pulser backend for composing, simulating and executing pulse sequences for neutral-atom quantum devices.visualization
: to display diagrammatically quantum circuits.
by running:
pip install qadence[braket, pulser, visualization]
!!! warning
In order to correctly install the visualization
extra, the graphviz
package needs to be installed
in your system:
```bash
# on Ubuntu
sudo apt install graphviz
# on MacOS
brew install graphviz
# via conda
conda install python-graphviz
```
Citation
If you use Qadence for a publication, we kindly ask you to cite our work using the following BibTex entry:
@misc{qadence2023pasqal,
url = {https://github.com/pasqal-io/qadence},
title = {Qadence: {A} {D}igital-analog quantum programming interface.},
year = {2023}
}
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.