Acquire
class Acquire(duration, channel=None, mem_slot=None, reg_slots=None, mem_slots=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 (
int
) – Length of time to acquire data in terms of dt. - channel (
Union
[AcquireChannel
,List
[AcquireChannel
],None
]) – The channel that will acquire data. - mem_slot (
Union
[MemorySlot
,List
[MemorySlot
],None
]) – The classical memory slot in which to store the classified readout result. - mem_slots (
Optional
[List
[MemorySlot
]]) – Deprecated list form ofmem_slot
. - reg_slots (
Union
[RegisterSlot
,List
[RegisterSlot
],None
]) – Deprecated list form ofreg_slot
. - 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.
Attributes
acquire
Type: qiskit.pulse.channels.AcquireChannel
Acquire channel to acquire data. The AcquireChannel
index maps trivially to qubit index.
Return type
acquires
Type: List[qiskit.pulse.channels.AcquireChannel]
Acquire channels to be acquired on.
Return type
List
[AcquireChannel
]
channel
Type: qiskit.pulse.channels.AcquireChannel
Return the Channel
that this instruction is scheduled on.
Return type
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
discriminator
Type: qiskit.pulse.configuration.Discriminator
Return discrimination settings.
Return type
Discriminator
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
]]
kernel
Type: qiskit.pulse.configuration.Kernel
Return kernel settings.
Return type
Kernel
mem_slot
Type: qiskit.pulse.channels.MemorySlot
The classical memory slot which will store the classified readout result.
Return type
mem_slots
name
Type: str
Name of this instruction.
Return type
str
operands
Type: Tuple
Return instruction operands.
Return type
Tuple
reg_slot
Type: qiskit.pulse.channels.RegisterSlot
The fast-access register slot which will store the classified readout result for fast-feedback computation.
Return type
reg_slots
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
__call__
Acquire.__call__(channel=None, mem_slot=None, reg_slots=None, mem_slots=None, reg_slot=None, kernel=None, discriminator=None, name=None)
Return new Acquire
that is fully instantiated with its channels.
Parameters
- channel (
Union
[AcquireChannel
,List
[AcquireChannel
],None
]) – The channel that will acquire data. - mem_slot (
Union
[MemorySlot
,List
[MemorySlot
],None
]) – The classical memory slot in which to store the classified readout result. - mem_slots (
Optional
[List
[MemorySlot
]]) – Deprecated list form ofmem_slot
. - reg_slots (
Union
[RegisterSlot
,List
[RegisterSlot
],None
]) – Deprecated list form ofreg_slot
. - 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.
Return type
Returns
Complete and ready to schedule Acquire
.
Raises
PulseError – If channel
has already been set.
append
Acquire.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
Acquire.ch_duration(*channels)
Return duration of the supplied channels in this Instruction.
Parameters
*channels – Supplied channels
Return type
int
ch_start_time
Acquire.ch_start_time(*channels)
Return minimum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
ch_stop_time
Acquire.ch_stop_time(*channels)
Return maximum start time for supplied channels.
Parameters
*channels – Supplied channels
Return type
int
draw
Acquire.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
Acquire.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
Acquire.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
Acquire.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