iqm.pulse.gates.move.apply_move_gate_phase_corrections

iqm.pulse.gates.move.apply_move_gate_phase_corrections#

iqm.pulse.gates.move.apply_move_gate_phase_corrections(schedule, builder, apply_detuning_corrections=True)#

Schedule-level pass applying phase corrections for MOVE sandwiches to the first MOVE component.

Note

Assumes the MOVE gate implementation is based on MOVE_CustomWaveforms.

Processes all the MOVE sandwiches in schedule, summing up the VirtualRZ instructions on the (virtual) drive channels of the second MOVE component (either qubit or resonator), adding the phase difference resulting from detuning of the two MOVE components to the total, and applying it on the first MOVE component (has to be a qubit) at the end of each sandwich.

Parameters:
  • schedule (Schedule) – instruction schedule to process

  • builder (ScheduleBuilder) – schedule builder that was used to build schedule

  • apply_detuning_corrections (bool) – if True, also apply detuning phase corrections

Returns:

copy of schedule with the phase corrections applied

Return type:

Schedule