Documentation Index
Fetch the complete documentation index at: https://docs.qbraid.com/llms.txt
Use this file to discover all available pages before exploring further.
API Reference:
qbraid.runtime.quantinuum
Overview
Theqbraid.runtime.QuantinuumProvider provides support for Quantinuum’s trapped-ion quantum systems
through the Quantinuum Nexus platform. This means you can write quantum circuits using
pytket, compile and execute them on Quantinuum’s H-series processors and emulators,
all from within the qBraid Runtime framework.
Getting started
Before you begin, make sure you have:- A Quantinuum Nexus account with valid credentials.
- The qnexus CLI tool installed and authenticated (see Authentication below).
- Python >= 3.10
Set up the qBraid-SDK
Install qBraid with thequantinuum extra from PyPI using pip:
pytket, pytket-quantinuum, and qnexus.
Note: The qBraid-SDK requires Python 3.10 or greater. You can check your
Python version by running
python --version from the command line.Authentication
TheQuantinuumProvider authenticates through the qnexus library. Before using the provider, you must
log in using the qnexus CLI:
List available devices
Use theQuantinuumProvider to list all devices to which you have access:
Devices with an “E” suffix (e.g.,
H1-1E) are emulators (simulators) that
model the behavior of the corresponding hardware device.Submitting jobs
TheQuantinuumProvider accepts quantum programs written as pytket Circuit objects.
Create a circuit
Run a job
Usedevice.run() to compile and submit a circuit:
Batch submission
Submit multiple circuits in a single call. All circuits are bundled into one Nexus job:When submitting a list of circuits, all circuits are compiled and executed as
a single batch job on Quantinuum Nexus. The returned
measurement_counts will
be a list of dictionaries, one per circuit.Retrieving results
Check job status
Cancel a job
Cancellation is best-effort. Jobs already in a terminal state (
COMPLETED,
FAILED, CANCELLED) cannot be cancelled.Execution time
You can retrieve the wall-clock execution time (in seconds) for a completed job:Configuration options
Thedevice.run() method accepts additional keyword arguments to control compilation and project scoping:
| Parameter | Type | Default | Description |
|---|---|---|---|
shots | int | 1000 | Number of measurement shots per circuit. |
project_name | str | "qbraid" | Nexus project name to scope compile/execute jobs. |
optimisation_level | int | 1 | pytket optimization level (0-2). |
project_name and optimisation_level parameters can also be set via environment variables:
| Variable | Description |
|---|---|
QUANTINUUM_NEXUS_PROJECT_NAME | Default Nexus project name. |
QUANTINUUM_NEXUS_OPT_LEVEL | Default pytket optimization level. |
