Provider

class qiskit_qryd_provider.QRydProvider(token, dev=False)[source]

Provider for backends from the QRydDemo consortium.

This class provides backends for accessing QRydDemo’s cloud infrastructure with Qiskit. To access the infrastructure, a valid API token is required. The token can be obtained via our online registration form.

Different backends are available that are capable of running ideal simulations of quantum circuits on the GPU-based emulator of the QRydDemo consortium. An inclusion of noise models is planned for the future. Currently, the following backends are provided:

  • QRydEmulatorSquare: emulator of 30 ideal qubits arranged in a 5x6 square lattice with nearest-neighbor connectivity, quantum circuits are compiled to the gate set of the Rydberg platform on our servers after submitting the circuits to QRydDemo’s infrastructure.

  • QRydEmulatorTriangle: emulator of 30 ideal qubits arranged in a triangle lattice with nearest-neighbor connectivity, quantum circuits are compiled to the gate set of the Rydberg platform on our servers after submitting the circuits to QRydDemo’s infrastructure.

In addition, the following backends are provided that are platform-agnostic and serve special purposes:

  • QecEmulator: emulator of 16 qubits with all-to-all connectivity and simple noise models, useful for studying quantum error correction codes. Under development.

  • IdealEmulator: emulator of 33 ideal qubits with all-to-all connectivity, optimized for speed.

Typical usage example:

from qiskit_qryd_provider import QRydProvider
import os

provider = QRydProvider(os.getenv("QRYD_API_TOKEN"))
backend = provider.get_backend("qryd_emulator$square")
__init__(token, dev=False)[source]

Initialize the provider.

Parameters:
  • token (str) – The QrydDemo Api token that can be obtained via our online registration form.

  • dev (bool) – Whether to use the development version of the API.

backends(name=None, **kwargs)[source]

Return a list of backends matching the specified filtering.

Parameters:
  • name (Optional[str]) – Name of the backend.

  • **kwargs – Dict used for filtering.

Return type:

List[QRydBackend]

Returns:

A list of backends that match the filtering criteria.

get_backend(name=None, **kwargs)[source]

Return a single backend matching the specified filtering.

Parameters:
  • name (Optional[str]) – Name of the backend.

  • **kwargs – Dict used for filtering.

Return type:

QRydBackend

Returns:

A backend matching the filtering.

Raises:

qiskit.providers.QiskitBackendNotFoundError – If no backend could be found or more than one backend matches the filtering criteria.

url_base = 'https://api.qryddemo.itp3.uni-stuttgart.de/v5_1/jobs'

URL to the web API endpoint for submitting simulation jobs to QRydDemo’s cloud emulator.