Reset_F0G1_Composite#

Module: iqm.pulse.gates.reset

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

Bases: CompositeGate

Reset by applying a prx_12(pi) gate followed by the lru.f0g1 operation.

The prx_12(pi) swaps the populations of the states \(|1\rangle\) and \(|2\rangle\), and the lru.f0g1 moves the \(|2\rangle\) state population to \(|0\rangle\).

The parameter number_of_cycles specifies how many times the sequence of gates (prx_12, lru) will be repeated.

Note that the F0G1 pulse here is take from the LRU gate, since this is a composite gate.

Attributes

customizable_gates

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate.

default_implementations

Mapping from member operation names to the designated default implementation of that operation.

parameters

Required calibration data, may be nested

registered_gates

Names of the member operations used by the composite gate.

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:
registered_gates: tuple[str, ...] = ('lru',)#

Names of the member operations used by the composite gate. There must be corresponding keys in builder.op_table.

default_implementations: dict[str, str] = {'lru': 'f0g1'}#

Mapping from member operation names to the designated default implementation of that operation. Filling this attribute allows one to define a different default implementation from the common default in builder.op_table to be used in the context of this composite gate. If a member operation is not found in this dict as a key, the CompositeGate will use the common default as its default implementation.

parameters: dict[str, Parameter | Setting | dict] = {'number_of_cycles': Setting(parameter=Parameter(name='', label='Number of cycles of the [prx_12(pi), lru] sequence', unit='', data_type=<DataType.INT: 5>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None), value=1, read_only=False, path='')}#

Required calibration data, may be nested

customizable_gates: tuple[str, ...] | None = ('lru',)#

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate. Must be a subset of registered_gates. By default all member operations are customizable.

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_Composite