Instruction
class Instruction(operands, duration, channels, name=None)
The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels.
Instruction initializer.
Parameters
- operands (
Tuple
) – The argument list. - duration (
Union
[Command
,int
]) – Length of time taken by the instruction in terms of dt. Deprecated: the first argument used to be the Command. - channels (
Tuple
[Channel
]) – Tuple of pulse channels that this instruction operates on. - name (
Optional
[str
]) – Optional display name for this instruction.
Raises
PulseError – If duration is negative.
Attributes
channels
Type: Tuple[qiskit.pulse.channels.Channel]
Returns channels that this schedule uses.
Return type
Tuple
[Channel
]
command
Type: qiskit.pulse.commands.command.Command
The associated command. Commands are deprecated, so this method will be deprecated shortly.
Return type
Command
duration
Type: int
Duration of this instruction.
Return type
int
id
Type: int
Unique identifier for this instruction.
Return type
int
instructions
Type: Tuple[Tuple[int, qiskit.pulse.instructions.instruction.Instruction]]
Iterable for getting instructions from Schedule tree.
Return type
Tuple
[Tuple
[int
, Instruction
]]
name
Type: str
Name of this instruction.
Return type
str
operands
Type: Tuple
Return instruction operands.
Return type
Tuple
start_time
Type: int
Relative begin time of this instruction.
Return type
int
stop_time
Type: int
Relative end time of this instruction.
Return type
int
timeslots
Type: Dict[qiskit.pulse.channels.Channel, List[Tuple[int, int]]]
Occupied time slots by this instruction.
Return type
Dict
[Channel
, List
[Tuple
[int
, int
]]]
Methods
append
Instruction.append(schedule, name=None)
Return a new Schedule
with schedule
inserted at the maximum time over all channels shared between self
and schedule
.
Parameters
- schedule (
ScheduleComponent
) – schedule to be appended - name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Return type
ch_duration
Instruction.ch_duration(*channels)
Return duration of the supplied channels in this Instruction.
Parameters
*channels – Supplied channels
Return type
int
ch_start_time
Instruction.ch_start_time(*channels)
Return minimum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
ch_stop_time
Instruction.ch_stop_time(*channels)
Return maximum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
draw
Instruction.draw(dt=1, style=None, filename=None, interp_method=None, scale=1, channels_to_plot=None, plot_all=False, plot_range=None, interactive=False, table=True, label=False, framechange=True, scaling=None, channels=None)
Plot the instruction.
Parameters
- dt (
float
) – Time interval of samples - style (Optional[SchedStyle]) – A style sheet to configure plot appearance
- filename (
Optional
[str
]) – Name required to save pulse image - interp_method (
Optional
[Callable
]) – A function for interpolation - scale (
float
) – Relative visual scaling of waveform amplitudes - channels_to_plot (
Optional
[List
[Channel
]]) – Deprecated, see channels - plot_all (
bool
) – Plot empty channels - plot_range (
Optional
[Tuple
[float
]]) – 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 - scaling (
Optional
[float
]) – Deprecated, see scale - channels (
Optional
[List
[Channel
]]) – A list of channel names to plot
Returns
A matplotlib figure object of the pulse schedule
Return type
matplotlib.figure
flatten
insert
Instruction.insert(start_time, schedule, name=None)
Return a new Schedule
with schedule
inserted within self
at start_time
.
Parameters
- start_time (
int
) – Time to insert the schedule schedule - schedule (
ScheduleComponent
) – Schedule to insert - name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Return type
shift
Instruction.shift(time, name=None)
Return a new schedule shifted forward by time.
Parameters
- time (
int
) – Time to shift by - name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Return type
union
Instruction.union(*schedules, name=None)
Return a new schedule which is the union of self and schedule.
Parameters
- *schedules – Schedules to be take the union with this Instruction.
- name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Return type