Skip to main content

Qiskit provider for accessing the emulator and future Rydberg quantum computer of the QRydDemo consortium

Project description

Qiskit QRyd Provider

Supported Python versions Package version on PyPI Documentation License

This Python library contains a provider for the Qiskit quantum computing framework. The provider allows for accessing the GPU-based emulator and the future Rydberg quantum computer of the QRydDemo consortium.

Interactive tutorials can be found on QRydDemo's Jupyter server.

Installation

The provider can be installed via pip from PyPI:

pip install qiskit-qryd-provider

Basic Usage

To use the provider, a QRydDemo API token is required. The token can be obtained via our online registration form. You can use the token to initialize the provider:

from qiskit_qryd_provider import QRydProvider

provider = QRydProvider("MY_TOKEN")

Afterwards, you can choose a backend. Different backends are available that are capable of running ideal simulations of quantum circuits. An inclusion of noise models is planned for the future. You can either choose a backend emulating 30 qubits arranged in a 5x6 square lattice with nearest-neighbor connectivity

backend = provider.get_backend("qryd_emu_localcomp_square")

or a backend emulating 30 qubits arranged in a triangle lattice with nearest-neighbor connectivity

backend = provider.get_backend("qryd_emu_localcomp_triangle")

If you use these backends, Qiskit automatically transpiles arbitrary quantum circuits to comply with the native gate set and connectivity of the Rydberg platform. The backends are also available as variants where the compilation happens on our servers ("qryd_emu_cloudcomp_square" and "qryd_emu_cloudcomp_triangle"), using a decomposer developed by HQS Quantum Simulations.

After selecting a backend, you can run a circuit on the backend:

from qiskit import QuantumCircuit, execute

qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
job = execute(qc, backend, shots=200, optimization_level=3)
print(job.result().get_counts())

Expert Options

The provider adds the phase-shifted controlled-Z gate to Qiskit (PCZGate). This gate equals the controlled-Z gate up to single-qubit phase gates. It can be realized by the Rydberg platform in multiple ways [1, 2, 3]. The value of the phase shift can be modified before using the backend via:

from qiskit_qryd_provider import PCZGate

PCZGate.set_theta(1.234)

License

The Qiskit QRyd Provider is licensed under the Apache License 2.0.

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

qiskit-qryd-provider-0.3.2.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

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

qiskit_qryd_provider-0.3.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file qiskit-qryd-provider-0.3.2.tar.gz.

File metadata

  • Download URL: qiskit-qryd-provider-0.3.2.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for qiskit-qryd-provider-0.3.2.tar.gz
Algorithm Hash digest
SHA256 2bb8f3a7099dd8ae637d9dfacc5d93c80daca8e9de86dfec88c5d6a7de245e19
MD5 96802d1d2af0fcce2a5dc717dae11f9c
BLAKE2b-256 85a452883564adedca8179859664feda07b4fc2902fa7f52cee33572f06e8ae3

See more details on using hashes here.

File details

Details for the file qiskit_qryd_provider-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for qiskit_qryd_provider-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c016ca50b959ed054c073a6cdcb2bfb5385c60a451c67ba655ee163111ee8404
MD5 64521e5d70bde670c9acdc0818fdc9be
BLAKE2b-256 f8dd79cc64810da2eaafeb32a0f1904e926a810c22cefb377ba0eb6e6c5dd5a5

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