Instruction
class Instruction(operands, duration=None, channels=None, name=None)
Bases: abc.ABC
The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels.
Instruction initializer.
Parameters
- operands (
Tuple
) – The argument list. - duration (
Optional
[int
]) – Deprecated. - channels (
Optional
[Tuple
[Channel
]]) – Deprecated. - name (
Optional
[str
]) – Optional display name for this instruction.
Raises
- PulseError – If duration is negative.
- PulseError – If the input
channels
are not all of typeChannel
.
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 (Union['Schedule', 'Instruction']) – Schedule or instruction to be appended
- name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Returns
A new schedule with schedule
a this instruction at t=0.
Return type
assign_parameters
Instruction.assign_parameters(value_dict)
Modify and return self with parameters assigned according to the input.
Parameters
value_dict (Dict
[ParameterExpression
, Union
[ParameterExpression
, float
]]) – A mapping from Parameters to either numeric values or another Parameter expression.
Return type
Instruction
Returns
Self with updated parameters.
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, plot_all=False, plot_range=None, interactive=False, table=True, label=False, framechange=True, 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 - 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 - 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
Instruction.flatten()
Return itself as already single instruction.
Return type
Instruction
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 (Union['Schedule', 'Instruction']) – Schedule or instruction to insert
- name (
Optional
[str
]) – Name of the new schedule. Defaults to name of self
Returns
A new schedule with schedule
inserted with this instruction at t=0.
Return type
is_parameterized
Instruction.is_parameterized()
Return True iff the instruction is parameterized.
Return type
bool
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
Returns
The shifted schedule.
Return type
Attributes
channels
Returns the channels that this schedule uses.
Return type
Tuple
[Channel
]
duration
Duration of this instruction.
Return type
int
id
Unique identifier for this instruction.
Return type
int
instructions
Iterable for getting instructions from Schedule tree.
Return type
Tuple
[Tuple
[int
, Instruction
]]
name
Name of this instruction.
Return type
str
operands
Return instruction operands.
Return type
Tuple
parameters
Parameters which determine the instruction behavior.
Return type
Set
start_time
Relative begin time of this instruction.
Return type
int
stop_time
Relative end time of this instruction.
Return type
int