Examples¶
All examples assume OPENQUANTUM_CLIENT_ID and OPENQUANTUM_CLIENT_SECRET are
set in the environment. Replace the backend short_code with the QPU you want
to target.
Bell State¶
from qrisp import QuantumVariable, h, cx
from qrisp_openquantum import OpenQuantumBackend
oq = OpenQuantumBackend(backend="rigetti:cepheus-1-108q", shots=1024)
qv = QuantumVariable(2)
h(qv[0])
cx(qv[0], qv[1])
print(qv.get_measurement(backend=oq, shots=1024))
# {'00': 0.51, '11': 0.49}
Note
get_measurement returns probabilities, not shot counts. This is
Qrisp's own normalization and applies to every backend (the probability
outputs below follow the same convention). For integer counts, run a
low-level QuantumCircuit with QuantumCircuit.run(backend=oq, shots=...).
GHZ State¶
from qrisp import QuantumVariable, h, cx
from qrisp_openquantum import OpenQuantumBackend
oq = OpenQuantumBackend(backend="ionq:forte-1", shots=2048)
qv = QuantumVariable(3)
h(qv[0])
cx(qv[0], qv[1])
cx(qv[1], qv[2])
print(qv.get_measurement(backend=oq, shots=2048))
# {'000': 0.5, '111': 0.5}
QuantumFloat Arithmetic¶
Qrisp's high-level types let you compute on quantum integers directly. The program compiles to a circuit, runs on hardware, and decodes back to integer outcomes.
from qrisp import QuantumFloat
from qrisp_openquantum import OpenQuantumBackend
oq = OpenQuantumBackend(backend="iqm:garnet", shots=1024)
a = QuantumFloat(3)
b = QuantumFloat(3)
a[:] = 3
b[:] = 4
c = a + b
print(c.get_measurement(backend=oq, shots=1024))
# concentrates on 7
Targeting a Simulator With Required Config¶
Some simulators require backend-specific configuration. The Quantum Rings
simulator needs an engine:
from qrisp import QuantumVariable, h, cx
from qrisp_openquantum import OpenQuantumBackend
oq = OpenQuantumBackend(
backend="qr:gpu-gb10",
shots=1024,
configuration_data={"engine": "amber_quantum_rings"},
)
qv = QuantumVariable(2)
h(qv[0])
cx(qv[0], qv[1])
print(qv.get_measurement(backend=oq, shots=1024))
Choosing Execution Plan and Priority¶
from qrisp_openquantum import OpenQuantumBackend
oq = OpenQuantumBackend(
backend="ionq:forte-1",
shots=4096,
job_subcategory_id="ml:qcl",
execution_plan="private",
queue_priority="priority",
organization_id="your-org-uuid",
job_timeout_seconds=3600,
)
See Backend Discovery to list available
backends and their short_codes.