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_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


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-1.0.0.tar.gz (17.7 kB view hashes)

Uploaded Source

Built Distribution

qiskit_qryd_provider-1.0.0-py3-none-any.whl (20.8 kB view hashes)

Uploaded Python 3

Supported by

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