Skip to main content

QRyd backend for qoqo quantum computing toolkit

Project description

qoqo-qryd

GitHub Workflow Status PyPI PyPI - Format Crates.io Crates.io

The qoqo-qryd python package implements modules to support qoqo usage with quantum computers and quantum computer emulators of the QRydDemo project.

The QRydDemo project builds on quantum computers using Rydberg atoms. qoqo is quantum computing toolkit by HQS Quantum Simulations.

The qoqo-qryd package contains the following functionality:

Interface to the current QRydDemo WebAPI

At the moment QRydDemo WebAPI allows access to Quantum Hardware Emulators of different device topology. qoqo-qryd supports interfacing with the corresponding REST-API with low level calls as well as a high-level backend to qoqo quantum programs. For this it provides the backend APIBackend to evaluate qoqo quantum programs and the api_devices module to represent devices available on the emulators.

QRydDemo specific hardware operations (prototype)

Rydberg atom based quantum devices support, in principle, operations not commonly found in other quantum hardware. Changes in device topology are one of these operations. qoqo-qryd adds support for changes in device topology to qoqo via the operations in its pragma_operations module. Note that this is a preview prototype and does not represent a finalized set of operations on the QRydDemo hardware.

Local simulator supporting specific hardware operations

qoqo-qryd includes a local QuEST based simulator for quantum devices supporting the Rydberg specific quantum operations. The simulator is intended to let users test the capabilities of quantum hardware with the additional operations. qoqo-qryd provides the simulator via the SimulatorBackend qoqo-compatible backend that uses the device prototypes in its qryd_devices module. Note that the devices for the simulator do not represent a finalized design for QRydDemo.

Accessing QRydDemo WebAPI

To use the WebAPI, a QRydDemo account is required. Users can register via the online registration form.

Installation

The qoqo-qryd package is available on PyPi as a source distribution and as precompiled wheels for linux and macOS on the x86 platform. Other platforms need to install from the source distribution.

For both source distribution and pre-built wheels it can be installed via

pip install qoqo-qryd

When building from source qoqo-qryd requires rust, maturin and cmake to be installed locally. We recommend using rustup to set up a rust toolchain. The pip command should also automatically install maturin to build a python package locally and install it.

For a quick installation of the dependencies you can also use:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
pip install maturin

Documentation

The user documentation is provided on github pages. The API-documentation for qoqo-qryd can be found as an appendix of the user documentation.

Examples

A small collection of example python scripts for the QRydDemo project can be found in the project github repository. The examples include

  • howto_webapi_qoqo.ipynb provides an example accessing the QRydDemo's emulator with qoqo.
  • switch_layout_example.py shows how to construct a QRydDemo device and using the PragmaChangeQrydLayout operation to switch between layouts in a quantum Circuit.
  • shift_qubits_example.py shows how to construct a QRydDemo device and using the PragmaShiftQrydQubit operation to shift qubits between tweezer positions in a quantum Circuit.
  • multi_qubit_example.py shows how to use multi-qubit-operations.
  • serialisation_example.py demonstrates how to serialize a QuantumProgram to JSON format.

OpenSSL

Acknowledgments related to using OpenSSL for http requests:

"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)."

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qoqo_qryd-0.8.7.tar.gz (175.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qoqo_qryd-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qoqo_qryd-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qoqo_qryd-0.8.7-cp310-cp310-macosx_10_7_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10macOS 10.7+ x86-64

qoqo_qryd-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qoqo_qryd-0.8.7-cp39-cp39-macosx_10_7_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9macOS 10.7+ x86-64

qoqo_qryd-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

qoqo_qryd-0.8.7-cp38-cp38-macosx_10_7_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8macOS 10.7+ x86-64

qoqo_qryd-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

qoqo_qryd-0.8.7-cp37-cp37m-macosx_10_7_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.7mmacOS 10.7+ x86-64

File details

Details for the file qoqo_qryd-0.8.7.tar.gz.

File metadata

  • Download URL: qoqo_qryd-0.8.7.tar.gz
  • Upload date:
  • Size: 175.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for qoqo_qryd-0.8.7.tar.gz
Algorithm Hash digest
SHA256 9987ec9c451efec5e14cd6ec09c126832c69b8ef4553f6c98990d1bf10247c58
MD5 affb217100e3c6638bf2cc1f57a0de16
BLAKE2b-256 ce9af1ac3d32a0777e54058bb9448745c0614de30e142bfbeb40fc6fb76622cf

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b125029c5a4c81ea383eeeb627e973840b2b381d2925e89dd071db5c3d3d2afa
MD5 21c6420c12f8d7770a923a32908a33e2
BLAKE2b-256 6949082a4160077f4a7d868eace6c4b8aa238a81796453035a5f03b21cfc5d76

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3831fbf4b04daedcea480709b728c9320f37bfdfa539df24b06df0009583690
MD5 d4cf2fb10fe50f6e584172cef967d474
BLAKE2b-256 c9e7dde22a887a24e173f2a6ef1dc2c8db32c7278a951d930feb32f127f35e11

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4642ea19f559f159c30b35d8613c15e2c65da631b4c54fbfa62bccd070069200
MD5 031df29b96b494bf2b6f7185105c28c8
BLAKE2b-256 8f8374b4264f452c8482127b54682e10f5800e755fcae4e4097c71e5be315ca3

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a8528a193da1f6031f1df5597e6bf002aca9981e4d8cf6a2fb9b809b73efbac
MD5 ea2586b7aab84e07e9b5c8776f245e43
BLAKE2b-256 3705eee4390ae7ba4f90e536a52ce106f50a638f31b66524a65dd3d08b7557bb

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 80b9111fc2d53ad67cb81fdedf0eb40cd5c98fb2a8ad6d95ca49cb39fcc59a57
MD5 0728a0442653c44b13baaae2e8517b87
BLAKE2b-256 5f88d1ddb3c5c78f15304fa3c5801d2c1b630cec6f5fc78859ea3eb733a741b1

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 918900bb07ccff45e12ff111ef4c452deaedd44ea6e7916b005d904126293b2c
MD5 beee99a3c00a269af4a82b0375bc749e
BLAKE2b-256 b85eae4987292ed85d3d19d1dafb03f6a73d87010f3a57b6adfc42741c380a64

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bbc743c70f990c30fd36fbdbbbc6d1ffbcbd4af0aad83ed7a519dd045b9de745
MD5 30810a1aa6b1d4a1c6d48b1f486fe374
BLAKE2b-256 28882fba6f490c7fe05a63c827c22ce8e384a2436118494ac4d544ce828c287a

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ae3ed91515872f27b8fbf57ce236ace0458b7e6624f0fffdecec3810c8cdfe1
MD5 22974987afd97bfe408bd5e24aeb12fb
BLAKE2b-256 1beec11d7e97601b7f625bb537cda02263b14b3a5760b9cca9dc37da94b8e041

See more details on using hashes here.

File details

Details for the file qoqo_qryd-0.8.7-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qoqo_qryd-0.8.7-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 54ef201b10806c868c46947fa6c3240028d693e19c0404a7daec0e7bb5c38c36
MD5 ccf4e609ec5ec6bd6e97564e75d8dda0
BLAKE2b-256 0a9a0f434c7560cb09e8ed01e447ca98e28ef9c84df2b69c18e9a52be67cb706

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page