Reset_Wait#
- class iqm.pulse.gates.reset.Reset_Wait(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementation
Reset operation by relaxation (idling for a time comparable to the relaxation time of the component).
Adds a Wait pulse for all the (non-virtual) channels of the locus components. In addition, blocks all the probes associated with the locus and in case the locus is connected via couplers, blocks them as well. The operation is factorizable, so that the calibration data it uses (i.e. the wait duration in seconds) is defined for each component, and when acting on multiple components, the maximum of the associated wait durations will be applied.
Reset by relaxation is intended to be used in the circuit initialisation between shots / segments. It also can be called on specific qubits inside a segment, but as it works by waiting longer than the qubit relaxation time, the states of all the other qubits will likely have been destroyed as well by the time the reset has finished.
Module:
iqm.pulse.gates.reset
Attributes
Required calibration data, may be nested
Methods
Duration of the Schedule of the gate implementation (in seconds).
Supported loci: all components that have channels.
TimeBox that contains Wait instructions for all non-virtual channels associated with
self.locus
.- Parameters:
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
- parameters: NestedParams = {'duration': Parameter(name='', label='Wait duration', unit='s', data_type=<DataType.NUMBER: 1>, collection_type=<CollectionType.SCALAR: 0>, element_indices=None, _parent_name=None, _parent_label=None)}#
Required calibration data, may be nested
- wait_box()#
TimeBox that contains Wait instructions for all non-virtual channels associated with
self.locus
.Does not block any additional components beside the locus itself.
- Return type:
- _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:
- duration_in_seconds()#
Duration of the Schedule of the gate implementation (in seconds).
Can be left unimplemented if the duration e.g. depends on the gate arguments. Subclasses can reimplement this method in case it makes sense in their context.
- Return type: