ProbePulse_CustomWaveforms_noIntegration#
Module: iqm.pulse.gates.measure
- class iqm.pulse.gates.measure.ProbePulse_CustomWaveforms_noIntegration(parent, name, locus, calibration_data, builder)#
Bases:
CustomIQWaveformsBase class for implementing a probe line probe pulse with custom waveforms in the I and Q channels without any integration.
Similar to the
ProbePulse_CustomWaveformsexcept that signal integration is removed.Attributes
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).Parameters independent of the of Waveforms.
wave_iWaveform for the I channel.
wave_qWaveform for the Q channel.
idUnique str identifier, needed for certain caching properties.
sub_implementationsSingle-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.
Methods
Duration of the Schedule of the gate implementation (in seconds).
Get the name of the locus mapping stored in
ScheduleBuilder.ChipTopologyfor this implementation.Returns a "naked" probe timebox that supports convenient multiplexing through
MultiplexedProbeTimeBox.__add__.- Parameters:
parent (QuantumOp)
name (str)
locus (Locus)
calibration_data (OILCalibrationData)
builder (ScheduleBuilder)
- root_parameters: dict[str, Parameter | Setting] = {'amplitude_i': Parameter(name='', label='Readout channel I amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'amplitude_q': Parameter(name='', label='Readout channel Q amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'duration': Parameter(name='', label='Readout pulse duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'frequency': Parameter(name='', label='Readout pulse frequency', unit='Hz', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'phase': Parameter(name='', label='Readout pulse phase', unit='rad', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}#
Parameters independent of the of Waveforms. Inheriting classes may override this to include parameters common to all such implementations.
- probe_timebox(key='', feedback_key='', do_acquisition=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.
- Returns:
MultiplexedProbeTimeBox containing the ReadoutTrigger instruction.
- Return type:
- duration_in_seconds()#
Duration of the Schedule of the gate implementation (in seconds).
Can be left unimplemented if the duration e.g. depends on the gate arguments. Subclasses can reimplement this method in case it makes sense in their context.
- Return type:
- classmethod get_locus_mapping_name(operation_name, implementation_name)#
Get the name of the locus mapping stored in
ScheduleBuilder.ChipTopologyfor this implementation.By default, it is
"<operation_name>.<implementation_name>". Inheriting classes may override this for different behaviour.
Inheritance
