iqm.benchmarks.utils.perform_backend_transpilation#
- iqm.benchmarks.utils.perform_backend_transpilation(qc_list: List[IQMCircuit], backend: IQMBackendBase, qubits: Sequence[int], coupling_map: List[List[int]], basis_gates: Tuple[str, ...] = ('r', 'cz'), qiskit_optim_level: int = 1, optimize_sqg: bool = False, drop_final_rz: bool = True, routing_method: str | None = 'sabre') List[IQMCircuit] #
Transpile a list of circuits to backend specifications.
- Parameters:
qc_list (List[QuantumCircuit]) – The original (untranspiled) list of quantum circuits.
backend (IQMBackendBase) – The backend to execute the benchmark on.
qubits (Sequence[int]) – The qubits to target in the transpilation.
coupling_map (List[List[int]]) – The target coupling map to transpile to.
basis_gates (Tuple[str, ...]) – The basis gates.
qiskit_optim_level (int) – Qiskit “optimization_level” value.
optimize_sqg (bool) – Whether SQG optimization is performed taking into account virtual Z.
drop_final_rz (bool) – Whether the SQG optimizer drops a final RZ gate.
routing_method (Optional[str]) – The routing method employed by Qiskit’s transpilation pass.
- Returns:
A list of transpiled quantum circuits.
- Return type:
List[QuantumCircuit]