iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.instruction_tuples_to_qc

iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.instruction_tuples_to_qc#

iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.instruction_tuples_to_qc(compiled_instruction_tuples: list[tuple[int16, int16, int16]], instruction_list: list[Instruction | None], original_qc: QuantumCircuit, num_physical_qubits: int | None = None) → QuantumCircuit#

Turn a list of compiled instruction tuples back into a QuantumCircuit.

Uses the instruction list generated from convert_qc_to_sparse_dag together with compiled instruction tuples.

Parameters:
  • compiled_instruction_tuples (list[tuple[int16, int16, int16]]) – The list of compiled instruction tuples.

  • instruction_list (list[Instruction | None]) – The list of instructions.

  • original_qc (QuantumCircuit) – The QuantumCircuit which is the origin of both of the other arguments.

  • num_physical_qubits (int | None) – The number of physical qubits in the target topology. If greater than the original circuit’s qubit count, ancilla qubits are added so that physical qubit indices produced by routing are valid.

Returns:

The transpiled QuantumCircuit.

Return type:

QuantumCircuit