CustomIQWaveforms#
- class iqm.pulse.gate_implementation.CustomIQWaveforms(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementationBase class for GateImplementations using custom waveform definition with IQPulses.
The class contains logic for automatic gate calibration parameters handling for such gates (see the class attributes for more info). With given
Waveformwaveform definitionsSomethingandSomethingElse, an inheriting class may define the waveforms for the I and Q channels like this:class MyGate(CustomIQWaveforms, i_wave=Something, q_wave=SomethingElse).Module:
iqm.pulse.gate_implementationAttributes
Parameters names to be excluded from
self.parameters.Parameters independent of the of Waveforms.
Waveform for the I channel.
Waveform for the Q channel.
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).idUnique str identifier, needed for certain caching properties.
sub_implementationsSingle-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.
Methods
- Parameters:
parent (QuantumOp)
name (str)
locus (Locus)
calibration_data (OILCalibrationData)
builder (ScheduleBuilder)
- dependent_waves: bool#
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.