FluxPulseGate_SmoothConstant#
- class iqm.pulse.gates.cz.FluxPulseGate_SmoothConstant(parent, name, locus, calibration_data, builder)#
Bases:
FluxPulseGateFlux pulse gate implementation realized as a 3-part pulse sequence, consisting of |cosine rise|Constant|cosine fall|. Otherwise, works similar to FluxPulseGate.
- Parameters:
flux_pulses – mapping from flux channel name to its flux pulse
rz – mapping from drive channel name to the virtual z rotation angle, in radians, that should be performed on it
parent (QuantumOp)
name (str)
locus (Locus)
calibration_data (OILCalibrationData)
builder (ScheduleBuilder)
Module:
iqm.pulse.gates.czAttributes
Flux pulse Waveform to be played in the coupler flux AWG.
Required calibration data, may be nested
Flux pulse Waveform to be played in the qubit flux AWG.
Parameters shared by all
FluxPulseGateclasses.True iff the implementation is symmetric in its locus components.
idUnique str identifier, needed for certain caching properties.
sub_implementationsSingle-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.
Methods
- coupler_wave: Constant | None = None#
Flux pulse Waveform to be played in the coupler flux AWG. Can be only Constant or None
- qubit_wave: Constant | None = None#
Flux pulse Waveform to be played in the qubit flux AWG. Can be only Constant or None
- parameters: NestedParams = {'coupler': {'amplitude': Parameter(name='', label='Coupler pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='Coupler pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rise_time': Parameter(name='', label='Coupler pulse rise time', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}, 'duration': Parameter(name='', label='Gate duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'qubit': {'amplitude': Parameter(name='', label='Qubit pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='Qubit pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rise_time': Parameter(name='', label='Qubit pulse rise time', 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)}}#
Required calibration data, may be nested
- rise_wave#
Waveform, rise part of the 3-pulse sequence to be played with qubit and coupler gates.
alias of
CosineRiseFlex
- symmetric: bool = True#
True iff the implementation is symmetric in its locus components. Only meaningful if
arity != 1, and the locus components are of the same type.
- fall_wave#
Waveform, fall part of the 3-pulse sequence to be played with qubit and coupler gates.
alias of
CosineFallFlex
- root_parameters: dict[str, Parameter | Setting | dict] = {'coupler': {'amplitude': Parameter(name='', label='Coupler pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='Coupler pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rise_time': Parameter(name='', label='Coupler pulse rise time', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}, 'duration': Parameter(name='', label='Gate duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'qubit': {'amplitude': Parameter(name='', label='Qubit pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='Qubit pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rise_time': Parameter(name='', label='Qubit pulse rise time', 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
FluxPulseGateclasses. Inheriting classes may override this if there’s a need for additional calibration parameters.