gate_library#
Contains the gate library for the Qblox backend.
Module Contents#
Classes#
Reset a qubit to the \(|0\rangle\) state. |
- class ConditionalReset(qubit_name: str, name: str = 'conditional_reset', **kwargs)[source]#
Bases:
quantify_scheduler.schedules.schedule.ScheduleReset a qubit to the \(|0\rangle\) state.
The
ConditionalResetgate is a conditional gate that first measures the state of the device element using anThresholdedAcquisitionoperation and then performs a \(\pi\) rotation on the condition that the measured state is \(|1\rangle\). If the measured state is in \(|0\rangle\), the hardware will wait the same amount of time the \(\pi\) rotation would’ve taken to ensure that total execution time ofConditionalResetis the same regardless of the measured state.Note
The total time of the the ConditionalReset is the sum of
integration time (<device_element>.measure.integration_time)
acquisition delay (<device_element>.measure.acq_delay)
trigger delay (364ns)
pi-pulse duration (<device_element>.rxy.duration)
idle time (4ns)
Note
Due to current hardware limitations, overlapping conditional resets might not work correctly if multiple triggers are sent within a 364ns window. See Conditional Playback for more information.
Note
ConditionalResetis currently implemented as a subschedule, but can be added to an existing schedule as if it were a gate. See examples below.- Parameters:
Examples
from quantify_scheduler import Schedule from quantify_scheduler.qblox.operations import ConditionalReset schedule = Schedule("example schedule") schedule.add(ConditionalReset("q0"))