Barrier#
- class iqm.pulse.gates.barrier.Barrier(parent, name, locus, calibration_data, builder)#
Bases:
GateImplementation
GateImplementation for the n-qudit
barrier
metaoperation.Returns a schedule with zero-duration
Block
metainstructions. When this is appended to anotherSchedule
, it causes the affected channels to be padded withWait
instructions to the same length, which in turn imposes a definite temporal order for the operations on different sides of the barrier (the ones preceding it are always executed first).Note
Assumes that all instructions involve either the drive, flux or probe channels of the locus QPU components.
- Parameters:
channels – channels related to the locus QPU components, to be blocked
parent (QuantumOp) –
name (str) –
locus (Locus) –
calibration_data (OILCalibrationData) –
builder (ScheduleBuilder) –
Module:
iqm.pulse.gates.barrier
Attributes
True iff the implementation is symmetric in its locus components.
Methods
Duration of the Schedule of the gate implementation (in seconds).
- 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()#
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: