Qiskit provider for accessing the emulator and future Rydberg quantum computer of the QRydDemo consortium
Project description
Qiskit QRyd Provider
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_emulator$square")
or a backend emulating 30 qubits arranged in a triangle lattice with nearest-neighbor connectivity
backend = provider.get_backend("qryd_emulator$triangle")
If you use these backends, the compilation of quantum circuits happens on our servers. The circuits are compiled to comply with the native gate set and connectivity of the Rydberg platform, using a decomposer developed by HQS Quantum Simulations.
After selecting a backend, you can run a circuit on the backend, using the transpile
function followed by backend.run
:
from qiskit import QuantumCircuit, transpile
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
job = backend.run(transpile(qc, backend), shots=200)
print(job.result().get_counts())
Alternatively, you can use the BackendSampler
primitive:
from qiskit import QuantumCircuit
from qiskit.primitives import BackendSampler
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
job = BackendSampler(backend).run(qc, shots=200)
print(job.result().quasi_dists[0])
Expert Options
The provider adds the phase-shifted controlled-Z gate (PCZGate) and the phase-shifted controlled-phase gate (PCPGate) to Qiskit. These gates equal the controlled-Z/phase gates up to single-qubit phase gates. The gates can be realized by the Rydberg platform in multiple ways [1, 2, 3]. The value of the phase shift of the PCZGate 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
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.
Source Distribution
Built Distribution
File details
Details for the file qiskit_qryd_provider-1.0.0.tar.gz
.
File metadata
- Download URL: qiskit_qryd_provider-1.0.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 529343181f7dbe05d823e99bd4b2806a2f3f9bd5e20ec37b08d8da4d6d724990 |
|
MD5 | f732abf544bc60a8dd36b2df779bacce |
|
BLAKE2b-256 | 7cd7a247c18228f902d19618e0aa31e3b59b2aca1e56b8f4987a6a15eb081a2b |
File details
Details for the file qiskit_qryd_provider-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: qiskit_qryd_provider-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 918da0f137483bca9a660dd485babfbee244507200c5292ce37910e48c19f5a3 |
|
MD5 | 37d780a2908bd4e7d9aa0d80a95949f3 |
|
BLAKE2b-256 | cfa8b50f14798118b7dd34f9772aaf24b1c440c296e9be952c2dae22b1132ac2 |