Reset_F0G1#

Module: iqm.pulse.gates.reset

class iqm.pulse.gates.reset.Reset_F0G1(parent, name, locus, calibration_data, builder)#

Bases: SinglePulseGate

Reset by driving the \(|f0\rangle \leftrightarrow |g1\rangle\) transition.

This gate implementation resets the qubit by driving the \(|f0\rangle \leftrightarrow |g1\rangle\) transition (basis here: \(|\text{qubit}, \text{readout resonator}\rangle\)) and the \(|e\rangle \leftrightarrow |f\rangle\) transition simultaneously. The principle is the same as for the lru gate (see LRU_F0G1), except here we additionally drive the \(|e\rangle \leftrightarrow |f\rangle\) to also reset the \(|e\rangle\) state, not just the \(|f\rangle\) state. The reset happens due to quick dissipation in the resonator. This operation is therefore non-unitary.

The gate is implemented via a :class:MultiplexedIQPulse, combining two modulated pulses which are supposed to drive each of the above mentioned transitions.

See [1] for reference of an experiment where such a pulse was used.

Attributes

parameters

Required calibration data, may be nested

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

get_locus_mapping_name

Get the name of the locus mapping stored in ScheduleBuilder.ChipTopology for this implementation.

Parameters:
parameters: dict[str, Parameter | Setting | dict] = {'duration': Parameter(name='', label='Multiplexed pulse duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'ef_pulse': {'amplitude_i': Parameter(name='', label='EF pulse channel I amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'amplitude_q': Parameter(name='', label='EF pulse channel Q amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='EF pulse full width', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'modulation_frequency': Setting(parameter=Parameter(name='', label='EF pulse modulation frequency', unit='Hz', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), value=0.0, read_only=False, path=''), 'offset': Setting(parameter=Parameter(name='', label='EF pulse offset from the F0G1 pulse', unit='s', data_type=<DataType.INT: 5>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), value=0.0, read_only=False, path=''), 'rise_time': Parameter(name='', label='EF pulse rise time', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}, 'f0g1_pulse': {'amplitude': Parameter(name='', label='F0G1 pulse amplitude', unit='', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'full_width': Parameter(name='', label='F0G1 pulse duration', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), 'modulation_frequency': Setting(parameter=Parameter(name='', label='F0G1 pulse modulation frequency', unit='Hz', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), value=0.0, read_only=False, path=''), 'rise_time': Parameter(name='', label='F0G1 pulse rise time', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None)}}#

Required calibration data, may be nested

classmethod get_locus_mapping_name(operation_name, implementation_name)#

Get the name of the locus mapping stored in ScheduleBuilder.ChipTopology for this implementation.

By default, it is "<operation_name>.<implementation_name>". Inheriting classes may override this for different behaviour.

Parameters:
  • operation_name (str) – name of the quantum operation.

  • implementation_name (str) – name of the implementation

Returns:

name of the locus mapping

Return type:

str

Inheritance

Inheritance diagram of iqm.pulse.gates.reset.Reset_F0G1