align_measures(schedules, inst_map=None, cal_gate='u3', max_calibration_duration=None, align_time=None, align_all=True)¶
Return new schedules where measurements occur at the same physical time.
This transformation will align the first
qiskit.pulse.Acquireon every channel to occur at the same time.
Minimum measurement wait time (to allow for calibration pulses) is enforced and may be set with
This method assumes that
AcquireChannel(i)correspond to the same qubit and the acquire/play instructions should be shifted together on these channels.
from qiskit import pulse from qiskit.pulse import transforms with pulse.build() as sched: with pulse.align_sequential(): pulse.play(pulse.Constant(10, 0.5), pulse.DriveChannel(0)) pulse.play(pulse.Constant(10, 1.), pulse.MeasureChannel(0)) pulse.acquire(20, pulse.AcquireChannel(0), pulse.MemorySlot(0)) sched_shifted = sched << 20 aligned_sched, aligned_sched_shifted = transforms.align_measures([sched, sched_shifted]) assert aligned_sched == aligned_sched_shifted
If it is desired to only shift acqusition and measurement stimulus instructions set the flag
aligned_sched, aligned_sched_shifted = transforms.align_measures( [sched, sched_shifted], align_all=False, ) assert aligned_sched != aligned_sched_shifted
ScheduleComponent]) – Collection of schedules to be aligned together
InstructionScheduleMap]) – Mapping of circuit operations to pulse schedules
str) – The name of the gate to inspect for the calibration time
int]) – If provided, inst_map and cal_gate will be ignored
int]) – If provided, this will be used as final align time.
bool]) – Shift all instructions in the schedule such that they maintain their relative alignment with the shifted acqusition instruction. If
Falseonly the acqusition and measurement pulse instructions will be shifted.
- Return type
The input list of schedules transformed to have their measurements aligned.
PulseError – If the provided alignment time is negative.