iqm.qubit_selector.qiskit_utils.perform_backend_transpilation

iqm.qubit_selector.qiskit_utils.perform_backend_transpilation#

iqm.qubit_selector.qiskit_utils.perform_backend_transpilation(qc_list, backend, qubits, coupling_map, basis_gates=('r', 'cz'), qiskit_optim_level=1, optimize_sqg=True, routing_method='sabre')#

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 (Sequence[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.

  • routing_method (str | None) – The routing method employed by Qiskit’s transpilation pass.

Returns:

A list of transpiled quantum circuits.

Return type:

list[QuantumCircuit]