FluxPulseGateBase#
Module: iqm.pulse.gates.cz
- class iqm.pulse.gates.cz.FluxPulseGateBase(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementationDiscrete arity-2 gate implemented using flux pulses, virtual RZs, and the interaction mediated by the coupler.
Does not have any gate args since it is discrete.
The two locus components of the gate must be connected via a tunable coupler.
Consists of a flux pulse for the coupler with one waveform, optional flux pulses for the locus components with another waveform, and virtual RZs on the locus drive channels.
Inherit from this class and assign waveforms to the
coupler_waveandqubit_wavepulse slots to create a specific implementation.Can be used as a base class for both CZ and MOVE gate implementations.
Note
The coupler and qubit pulses have the same duration (given in the calibration data), and in the special case of the duration being zero, the gate implementation will apply
Block(0)instructions to all the channels where it would otherwise apply flux pulses or virtual z rotations.Attributes
Parameters names to be excluded from
self.parameters.Parameters shared by all
FluxPulseGateBaseclasses.Flux pulse waveform for the coupler flux AWG.
Flux pulse waveform for the locus component flux AWGs.
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).
- Parameters:
parent (QuantumOp)
name (str)
locus (Locus)
calibration_data (OILCalibrationData)
builder (ScheduleBuilder)
- root_parameters: dict[str, Parameter | Setting | dict] = {'duration': Parameter(name='', label='Gate duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rz': {'*': Parameter(name='', label='Z rotation angle', unit='rad', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}}#
Parameters shared by all
FluxPulseGateBaseclasses. Inheriting classes may override this if there’s a need for additional calibration parameters.
Inheritance
