PRX_CustomWaveforms#
- class iqm.pulse.gates.prx.PRX_CustomWaveforms(parent, name, locus, calibration_data, builder)#
Bases:
PRX_SinglePulse_GateImplementation,CustomIQWaveformsBase class for PRX gates implemented using a single IQ pulse and hot-swappable waveforms.
Module:
iqm.pulse.gates.prxAttributes
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
- Parameters:
parent (QuantumOp)
name (str)
locus (Locus)
calibration_data (OILCalibrationData)
builder (ScheduleBuilder)
- root_parameters: dict[str, Parameter | Setting] = {'amplitude_i': Parameter(name='', label='pi pulse I channel amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'amplitude_q': Parameter(name='', label='pi pulse Q channel amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'duration': Parameter(name='', label='pi pulse duration', unit='s', 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.
- classmethod _get_pulse(*, amplitude_i, amplitude_q, n_samples, **rest_of_calibration_data)#
Builds an x_pi pulse out of the calibration data.