Delay#
- class iqm.pulse.gates.delay.Delay(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementation
Applies a delay on the control channels of its locus components.
This operation applies
Wait
instructions on all the control channels of all its locus components. The duration of all the Waits is the same, and it is given as a parameter for the operation, rounded up to the nearest possible duration the hardware can handle.Note
We can only guarantee that the delay is at least of the requested duration. Also, when Delay is used in a quantum circuit, the delay between the preceding and following operations is again at least the requested duration, but could be much more depending on the other operations in the circuit. To see why, consider e.g. the circuit
[CZ(a, b), Delay(1, a), Delay(10, b), CZ(a, b)]
where a and b are qubits. In this case the actual delay between the two CZ gates will be 10 time units rounded up to hardware granularity.Module:
iqm.pulse.gates.delay
Attributes
True iff the implementation is symmetric in its locus components.
Methods
- Parameters:
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
- symmetric: bool = True#
True iff the implementation is symmetric in its locus components. Only meaningful if
arity != 1
, and the locus components are of the same type.
- _call(duration)#
Delay instruction.
- Parameters:
duration (float) – Duration of the requested wait (in seconds). Will be rounded up to the nearest duration that the hardware enables, with the exception that a duration of zero will cause no waiting. However, as usual, during scheduling all channels the TimeBox is acting on will be extended to the duration of the longest channel in the TimeBox.
- Return type: