Shelved_Measure_CustomWaveforms#
- class iqm.pulse.gates.measure.Shelved_Measure_CustomWaveforms(parent, name, locus, calibration_data, builder)#
Bases:
Measure_CustomWaveformsBase class for shelved readout.
Shelved readout applies a
prx_12(pi)gate before and after a standard dispersive readout on each qubit measured. The firstprx_12(pi)swaps the amplitudes of the |1> and |2> states, and the second one swaps them back after the measurement has (roughtly) collapsed the state. If the discriminator of the readout is calibrated such that the |0> state is on one side and the |1> and |2> states are on the other, the end result is equivalent to the standard readout operation but with the advantage that the population in the |2> state is less susceptible to \(T_1\) decay during the readout than the population in the |1> state.Note
Mixed implementation multiplexing is not supported.
Module:
iqm.pulse.gates.measureAttributes
If set
True, the Q channel waveform is considered to depend on the I channel's waveform so that they share the waveform parameters, (e.g. a DRAG PRX implementation).wave_iWaveform for the I channel.
wave_qWaveform for the Q channel.
Methods
Returns a "naked" probe timebox that supports convenient multiplexing through
MultiplexedProbeTimeBox.__add__.- Parameters:
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
- dependent_waves: bool = True#
If set
True, the Q channel waveform is considered to depend on the I channel’s waveform so that they share the waveform parameters, (e.g. a DRAG PRX implementation). If not provided, will be initialised asTrue.
- probe_timebox(key='', feedback_key='', do_acquisition=True, _skip_override=False)#
Returns a “naked” probe timebox that supports convenient multiplexing through
MultiplexedProbeTimeBox.__add__.This method can be used if the user wants to control the multiplexing explicitly. With two
MultiplexedProbeTimeBox``es ``AandBthe resultA + Bhas all theReadoutTriggerinstructions on each probe channel ofAandBmultiplexed together and played simultaneously.- Parameters:
key (str) – The readout results generated on this trigger will be assigned to
f"{qubit}__{key}", wherequbitgoes over the component names inself.locus. If empty, the key “readout.result” will be used to maintain backwards compatibility.feedback_key (str) – The signals generated by this measure operation are routed using this key for fast feedback purposes. See
__call__().do_acquisition (bool) – if False, no acquisitions are added.
_skip_override (bool) –
- Returns:
MultiplexedProbeTimeBox containing the ReadoutTrigger instruction.
- Return type:
- _call(key='', feedback_key='')#
Returns a TimeBox containing the multiplexed simultaneous measurement.
If
len(self.locus) == 1, the TimeBox contains the measurement for just that component, otherwise the measurements of components that belong to the same probeline are multiplexed together.The returned
TimeBoxinstances behave like any other TimeBox in scheduling and circuit generation. With measurement TimeBoxesAandBthe resultA + Bfirst plays theReadoutTriggerinstructions ofAand only then those ofBin each probe channel. If the multiplexing features ofMultiplexedProbeTimeBoxare needed, the methodprobe_timebox()can be used.In scheduling, the returned TimeBox blocks the locus components and the probe lines they are associated with.
- Parameters:
key (str) – Readout results generated on this trigger will be assigned to the acquisition labels
f"{qubit}__{key}", wherequbitgoes over the component names inself.locus. If empty, the key"readout.result"will be used to maintain backwards compatibility.feedback_key (str) – If the readout mode is “threshold”, the results generated by this
measureoperation are routed using the labelf"{qubit}__{feedback_key}"for fast feedback purposes. The signals are picked up byConditionalInstruction`s that have the same label. The default value `””`` means the signal is not routed anywhere. TODO: currently the HW does not support multiple feedback keys per drive channel, so the actual key used will beFEEDBACK_KEYwhenever any non-empty key is inputted. When the HW is improved, the actual key the user inputs should be passed.
- Returns:
TimeBox containing the
ReadoutTriggerinstruction.- Return type: