AQTBackend#
- class AQTBackend(api_token: str, device_instance: str, workspace: str | None = None)[source]#
A
Backendthat executes circuits on AQT quantum hardware via AQT ARNICA.Circuits are transpiled from Qrisp’s internal representation to Qiskit
QuantumCircuitobjects and submitted through AQT’sAQTSamplerprimitive. AnAQTJobhandle is returned immediately. CallJob.result()to block and retrieve theJobResult.For further details, see the Backend documentation and the AQT ARNICA website.
Note
Requires the optional dependency
qiskit-aqt-provider:pip install qiskit-aqt-provider
Note
AQTSamplerreturns quasi-probability distributions (float values that sum to 1.0) rather than integer counts. These are returned as-is and are handled by Qrisp’s measurement normalisation logic.- Parameters:
- api_tokenstr
API token for AQT ARNICA.
- device_instancestr
The device instance to target, e.g.
"ibex"or"simulator_noise". The offline simulators"offline_simulator_no_noise"and"offline_simulator_noise"are available with any API token. For an up-to-date list see the AQT ARNICA website.- workspacestr | None = None
The workspace identifier for your company or project.
Examples
We evaluate a QuantumFloat multiplication on the 12-qubit AQT IBEX:
>>> from qrisp import QuantumFloat >>> from qrisp.interface import AQTBackend >>> qrisp_ibex = AQTBackend( ... api_token="YOUR_AQT_ARNICA_TOKEN", ... device_instance="ibex", ... workspace="YOUR_COMPANY_OR_PROJECT_NAME", ... ) >>> a = QuantumFloat(2) >>> a[:] = 2 >>> b = a * a >>> b.get_measurement(backend=qrisp_ibex, shots=100) {4: 0.49, 8: 0.11, 2: 0.08, 0: 0.06, ...}
- AQTBackend.run_async(circuits, shots: int | list[int] | None = None) AQTJob[source]#
Transpile and submit one or more circuits to the AQT backend.
This method returns an
AQTJobimmediately. CallJob.resulton the returned object to block and retrieve theJobResult.- Parameters:
- circuitsQuantumCircuit or Sequence[QuantumCircuit]
One Qrisp circuit or a sequence of Qrisp circuits to execute.
- shotsint or list[int] or None, optional
Number of shots. If
None, the backend’sshotsoption is used. If alist[int]is provided, the AQT sampler does not support per-circuit shot counts, so all circuits are run atmax(shots)and aUserWarningis emitted.
- Returns:
- AQTJob