CCPRX_Composite#
- class iqm.pulse.gates.conditional.CCPRX_Composite(parent, name, locus, calibration_data, builder)#
Bases:
CompositeGate
Classically controlled PRX gate.
Applies a PRX gate conditioned on a discriminated readout result obtained in the same segment (active feedback). Applies a PRX gate if the result is 1, and a Wait of equal duration if the result is 0. Uses the default implementation of PRX underneath, so no extra calibration is needed.
Not usable in the “legacy” readout programming mode.
Module:
iqm.pulse.gates.conditional
Attributes
control_delays
contains the times it takes for the classical control signal from each probe line (readout instrument) to become usable for the drive AWG implementing the PRX gate.Methods
- Parameters:
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
- parameters: NestedParams = {'control_delays': Parameter(name='', label='Control delays', unit='s', data_type=<DataType.NUMBER: 1>, collection_type=<CollectionType.NDARRAY: 2>, element_indices=None, _parent_name=None, _parent_label=None)}#
control_delays
contains the times it takes for the classical control signal from each probe line (readout instrument) to become usable for the drive AWG implementing the PRX gate. The delays must be in the same order as the probe lines are listed in the{drive_controller}.awg.feedback_sources
station setting.
- _call(angle=3.141592653589793, phase=0.0, *, feedback_qubit, feedback_key)#
Two TimeBoxes that together implement the classically controlled PRX gate.
The first Timebox is for the control signal delay, and the second has a ConditionalInstruction. The delay TimeBox operates only on a virtual channel and is used to block the pulse TimeBox until there has been enough time for the control signal to arrive. The delay is specified by the
control_delays
gate parameter.In normal operation, the boxes can be placed sequentially without causing unnecessary delays. To care of the timing yourself, simply ignore the first TimeBox.
- Parameters:
angle (float) – The PRX rotation angle (rad).
phase (float) – The PRX rotation phase (rad).
feedback_qubit (str) – The qubit that was measured to create the feedback bit.
feedback_key (str) – Identifies the feedback signal if
feedback_qubit
was measured multiple times. The feedback label is thenf"{feedback_qubit}__{feedback_key}"
. TODO: currently the HW does not support multiple feedback keys per drive channel, so this argument has no effect. The conditional prx will always listen feedback from the labelf"{feedback_qubit}__{FEEDBACK_KEY}"
. When the HW is improved, the actual key the user inputs should be used.
- Returns:
A TimeBox for the signal delay, and a TimeBox with a ConditionalInstruction inside.
- Return type: