Haiqu.transpile(circuits, device, job_name=None, job_description=None, **transpilation_options)
Transpile a quantum circuit for a specific device.NOTE
Transpilation runs in the Haiqu cloud. Circuits containingHaiquCircuitGate instances (for example, from data-loading job
results or to_gate()) should be transpiled with this
method because the gate definitions live server-side. The returned
CircuitModel carries cloud-computed metrics on
.analytics (for example .analytics.depth, .analytics.depth_2q,
.analytics.gates_2q) or via .core_metrics().
- Parameters:
- circuits (QuantumCircuit | list *[*QuantumCircuit ] | CircuitModel | list *[*CircuitModel ]) — The circuit(s) to transpile.
- device (DeviceModel) — The target device for execution.
- job_name (str | None) — The name for the job. If
None(default), a name will be automatically generated. - job_description (str | None) — The description for the job.
- **transpilation_options — Additional arguments passed to the Qiskit transpiler. All parameters
follow the Qiskit
transpile()interface. A notable extension isseed_transpiler: it accepts either a single integer (standard Qiskit behaviour) or a list of integers. When a list is provided, transpilation is run once per seed in parallel and the result with the lowest multi-qubit gate count is selected for each circuit.
- Returns:
The transpiled quantum circuit, logged to the current experiment.
: When transpiling a circuit generated by Haiqu or containing Haiqu-generated components, the transpiled circuit
will be returned in form of a single gate. The metrics will contain details of the transpilation.
The returned
CircuitModelwill be linked to the original circuit. - Return type: CircuitModel | list[CircuitModel]