Reset_Conditional#

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

Bases: CompositeGate

Conditional reset operation.

Uses a measurement followed by a conditional PRX gate with angle \(\pi\). It is assumed the measurement projects the state into the computational basis.

The conditional PRX implementation handles any necessary waits to accommodate for the feedback result propagation delay.

This reset implementation is factorizable. It can act upon any set of locus components, and the measurement used in the conditional reset will be multiplexed to those components. However, only locus components that have readout and drive can be reset via conditional reset. Otherwise, locus components will just have their channels blocked.

Module: iqm.pulse.gates.reset

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.

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, ...] = ('measure', 'cc_prx')#

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

_call()#

The GateImplementation-specific logic for implementing a quantum operation.

Inheriting classes may override this method if the default __call__() caching (based on the args & kwargs in the signature) is sufficient. Any additional caching may also be implemented inside this function if needed.

Return type:

TimeBox

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

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

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.