qiskit.pulse.Acquire
class Acquire(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)
The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata:
- the number of cycles during which to acquire (in terms of dt),
- the register slot to store classified, intermediary readout results,
- the memory slot to return classified results,
- the kernel to integrate raw data for each shot, and
- the discriminator to classify kerneled IQ points.
Create a new Acquire instruction.
Parameters
- duration (
Union
[int
,ParameterExpression
]) – Length of time to acquire data in terms of dt. - channel (
AcquireChannel
) – The channel that will acquire data. - mem_slot (
Optional
[MemorySlot
]) – The classical memory slot in which to store the classified readout result. - reg_slot (
Optional
[RegisterSlot
]) – The fast-access register slot in which to store the classified readout result for fast feedback. - kernel (
Optional
[Kernel
]) – AKernel
for integrating raw data. - discriminator (
Optional
[Discriminator
]) – ADiscriminator
for discriminating kerneled IQ data into 0/1 results. - name (
Optional
[str
]) – Name of the instruction for display purposes.
Raises
PulseError – If channels are supplied, and the number of register and/or memory slots does not equal the number of channels.
__init__
__init__(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)
Create a new Acquire instruction.
Parameters
- duration (
Union
[int
,ParameterExpression
]) – Length of time to acquire data in terms of dt. - channel (
AcquireChannel
) – The channel that will acquire data. - mem_slot (
Optional
[MemorySlot
]) – The classical memory slot in which to store the classified readout result. - reg_slot (
Optional
[RegisterSlot
]) – The fast-access register slot in which to store the classified readout result for fast feedback. - kernel (
Optional
[Kernel
]) – AKernel
for integrating raw data. - discriminator (
Optional
[Discriminator
]) – ADiscriminator
for discriminating kerneled IQ data into 0/1 results. - name (
Optional
[str
]) – Name of the instruction for display purposes.
Raises
PulseError – If channels are supplied, and the number of register and/or memory slots does not equal the number of channels.
Methods
__init__ (duration, channel[, mem_slot, …]) | Create a new Acquire instruction. |
append (schedule[, name]) | Return a new Schedule with schedule inserted at the maximum time over all channels shared between self and schedule . |
assign_parameters (value_dict) | Modify and return self with parameters assigned according to the input. |
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, style, filename, interp_method, …]) | Plot the instruction. |
flatten () | Return itself as already single instruction. |
insert (start_time, schedule[, name]) | Return a new Schedule with schedule inserted within self at start_time . |
is_parameterized () | Return True iff the instruction is parameterized. |
shift (time[, name]) | Return a new schedule shifted forward by time. |
Attributes
acquire | Acquire channel to acquire data. |
channel | Return the Channel that this instruction is scheduled on. |
channels | Returns the channels that this schedule uses. |
discriminator | Return discrimination settings. |
duration | Duration of this instruction. |
id | Unique identifier for this instruction. |
instructions | Iterable for getting instructions from Schedule tree. |
kernel | Return kernel settings. |
mem_slot | The classical memory slot which will store the classified readout result. |
name | Name of this instruction. |
operands | Return instruction operands. |
parameters | Parameters which determine the instruction behavior. |
reg_slot | The fast-access register slot which will store the classified readout result for fast-feedback computation. |
start_time | Relative begin time of this instruction. |
stop_time | Relative end time of this instruction. |
acquire
Acquire channel to acquire data. The AcquireChannel
index maps trivially to qubit index.
Return type
append
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
assign_parameters(value_dict)
Modify and return self with parameters assigned according to the input.
Parameters
value_dict (Dict
[ParameterExpression
, Union
[ParameterExpression
, float
, int
]]) – A mapping from Parameters to either numeric values or another Parameter expression.
Return type
Instruction
Returns
Self with updated parameters.
ch_duration
ch_duration(*channels)
Return duration of the supplied channels in this Instruction.
Parameters
*channels – Supplied channels
Return type
int
ch_start_time
ch_start_time(*channels)
Return minimum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
ch_stop_time
ch_stop_time(*channels)
Return maximum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
channel
channels
Returns the channels that this schedule uses.
Return type
Tuple
[Union
[AcquireChannel
, MemorySlot
, RegisterSlot
]]
discriminator
Return discrimination settings.
Return type
Discriminator
draw
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
duration
Duration of this instruction.
Return type
Union
[int
, ParameterExpression
]
flatten
flatten()
Return itself as already single instruction.
Return type
Instruction
id
Unique identifier for this instruction.
Return type
int
insert
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
instructions
Iterable for getting instructions from Schedule tree.
Return type
Tuple
[Tuple
[int
, Instruction
]]
is_parameterized
is_parameterized()
Return True iff the instruction is parameterized.
Return type
bool
kernel
Return kernel settings.
Return type
Kernel
mem_slot
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
reg_slot
The fast-access register slot which will store the classified readout result for fast-feedback computation.
Return type
shift
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
start_time
Relative begin time of this instruction.
Return type
int
stop_time
Relative end time of this instruction.
Return type
int