FluxPulse_SmoothConstant_qubit#

Module: iqm.pulse.gates.cz

class iqm.pulse.gates.cz.FluxPulse_SmoothConstant_qubit(parent, name, locus, calibration_data, builder)#

Bases: FluxPulseGate_SmoothConstant

Constant flux pulse on qubit with smooth rise/fall.

Attributes

coupler_wave

Flux pulse Waveform to be played in the coupler flux AWG.

parameters

Required calibration data, may be nested

symmetric

True iff the implementation is symmetric in its locus components, meaning a permuted locus produces the same Schedule/TimeBox.

id

Unique str identifier, needed for certain caching properties.

sub_implementations

Single-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.

Methods

locus_mapping_function

Two-component loci connected through a coupler where the coupler and at least one component has fast flux.

Parameters:
coupler_wave: Constant | None = None#

Flux pulse Waveform to be played in the coupler flux AWG. Can be only Constant or None

fall_wave#

alias of CosineFallFlex

locus_mapping_function()#

Two-component loci connected through a coupler where the coupler and at least one component has fast flux.

There must be two locus components connected by a coupler, where the first locus component has fast flux. If both locus components have fast flux, we include both locus orders.

Parameters:

sp (StationProperties)

Return type:

dict[tuple[str, …], tuple[str, …]]

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 flux pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='Qubit flux pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'rise_time': Parameter(name='', label='Qubit flux 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

qubit_wave#

alias of Constant

rise_wave#

alias of CosineRiseFlex

symmetric: bool = False#

True iff the implementation is symmetric in its locus components, meaning a permuted locus produces the same Schedule/TimeBox. Only meaningful if self.parent.arity != 1, and the locus components are of the same type.

Inheritance

Inheritance diagram of iqm.pulse.gates.cz.FluxPulse_SmoothConstant_qubit