Skip to content

HQSquantumsimulations/qoqo_qryd

Repository files navigation

qoqo-qryd

This software package is designed to support the QRydDemo project on quantum computing with Rydberg atoms. It provides components to support QRydDemo quantum computers based on the qoqo quantum toolkit by HQS Quantum Simulations used to represent quantum circuits.

This repository contains two components:

  • roqoqo-qryd: the core rust library that builds on the roqoqo rust library.
  • qoqo-qryd: the python interface for roqoqo-qryd that uses the qoqo python interface.

The qoqo-qryd/roqoqo-qryd packages provide 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/roqoqo-qryd support interfacing with the corresponding REST-API with low level calls as well as a high-level backend to qoqo quantum programs.

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. roqoqo-qryd/qoqo-qryd adds support for changes in device topology to qoqo. 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/roqoqo-qryd include 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. 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

Installation instructions are provided by the corresponding READMEs of qoqo-qryd and roqoqo-qryd.

Documentation

We recommend getting started with the user documentation. The example code snippets in the documentation are provided for the python users of qoqo-qryd, the general information on the design principles and the structure of the project also applies to roqoqo-qryd, e.g. "QRydDemo devices and operations" that the user might refer to.

The roqoqo-qryd API documentation can be found here.

Examples

A small collection of example python programs for the QRydDemo project can be found here.

The examples for the usage of roqoqo-qryd written in rust will follow.

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).