TimeBlockade#
- class qiskit.pulse.instructions.TimeBlockade(duration, channel, name=None)[ソース]#
ベースクラス:
Directive
Pulse
TimeBlockade
directive.This instruction is intended to be used internally within the pulse builder, to convert
Schedule
intoScheduleBlock
. BecauseScheduleBlock
cannot take an absolute instruction time interval, this directive helps the block representation to find the starting time of an instruction.サンプル
This schedule plays constant pulse at t0 = 120.
schedule = Schedule() schedule.insert(120, Play(Constant(10, 0.1), DriveChannel(0)))
This schedule block is expected to be identical to above at a time of execution.
block = ScheduleBlock() block.append(TimeBlockade(120, DriveChannel(0))) block.append(Play(Constant(10, 0.1), DriveChannel(0)))
Such conversion may be done by
from qiskit.pulse.transforms import block_to_schedule, remove_directives schedule = remove_directives(block_to_schedule(block))
注釈
The TimeBlockade instruction behaves almost identically to
Delay
instruction. However, the TimeBlockade is just a compiler directive and must be removed before execution. This may be done byremove_directives()
transform. Once these directives are removed, occupied timeslots are released and user can insert another instruction without timing overlap.Create a time blockade directive.
- パラメータ:
Attributes
- channels#
Returns the channels that this schedule uses.
- duration#
Duration of this instruction.
- id#
Unique identifier for this instruction.
- instructions#
Iterable for getting instructions from Schedule tree.
- name#
Name of this instruction.
- operands#
Return instruction operands.
- parameters#
Parameters which determine the instruction behavior.
- start_time#
Relative begin time of this instruction.
- stop_time#
Relative end time of this instruction.
Methods
- append(schedule, name=None)#
Return a new
Schedule
withschedule
inserted at the maximum time over all channels shared betweenself
andschedule
.
- ch_duration(*channels)#
Return duration of the supplied channels in this Instruction.
- ch_start_time(*channels)#
Return minimum start time for supplied channels.
- ch_stop_time(*channels)#
Return maximum start time for supplied channels.
- draw(dt=1, style=None, filename=None, interp_method=None, scale=1, plot_all=False, plot_range=None, interactive=False, table=True, label=False, framechange=True, channels=None)#
Plot the instruction.
バージョン 0.23.0 で非推奨: The method
qiskit.pulse.instructions.instruction.Instruction.draw()
is deprecated as of qiskit-terra 0.23.0. It will be removed no earlier than 3 months after the release date. No direct alternative is being provided to drawing individual pulses. But, instructions can be visualized as part of a complete schedule usingqiskit.visualization.pulse_drawer
.- パラメータ:
dt (float) – Time interval of samples
style (Optional[SchedStyle]) – A style sheet to configure plot appearance
filename (str | None) – Name required to save pulse image
interp_method (Callable | None) – A function for interpolation
scale (float) – Relative visual scaling of waveform amplitudes
plot_all (bool) – Plot empty channels
plot_range (Tuple[float] | None) – A tuple of time range to plot
interactive (bool) – When set true show the circuit in a new window (this depends on the matplotlib backend being used supporting this)
table (bool) – Draw event table for supported instructions
label (bool) – Label individual instructions
framechange (bool) – Add framechange indicators
channels (List[Channel] | None) – A list of channel names to plot
- 戻り値:
A matplotlib figure object of the pulse schedule
- 戻り値の型:
matplotlib.figure