Acquire#

class qiskit.pulse.instructions.Acquire(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)[fuente]#

Bases: Instruction

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.

Parámetros:
  • duration (int | ParameterExpression) – Length of time to acquire data in terms of dt.

  • channel (AcquireChannel) – The channel that will acquire data.

  • mem_slot (MemorySlot | None) – The classical memory slot in which to store the classified readout result.

  • reg_slot (RegisterSlot | None) – The fast-access register slot in which to store the classified readout result for fast feedback.

  • kernel (Kernel | None) – A Kernel for integrating raw data.

  • discriminator (Discriminator | None) – A Discriminator for discriminating kerneled IQ data into 0/1 results.

  • name (str | None) – Name of the instruction for display purposes.

Attributes

acquire#

Acquire channel to acquire data. The AcquireChannel index maps trivially to qubit index.

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.

Methods

append(schedule, name=None)#

Return a new Schedule with schedule inserted at the maximum time over all channels shared between self and schedule.

Parámetros:
  • schedule (Union['Schedule', 'Instruction']) – Schedule or instruction to be appended

  • name (str | None) – Name of the new schedule. Defaults to name of self

Devuelve:

A new schedule with schedule a this instruction at t=0.

Tipo del valor devuelto:

Schedule

ch_duration(*channels)#

Return duration of the supplied channels in this Instruction.

Parámetros:

*channels (List[Channel]) – Supplied channels

Tipo del valor devuelto:

int

ch_start_time(*channels)#

Return minimum start time for supplied channels.

Parámetros:

*channels (List[Channel]) – Supplied channels

Tipo del valor devuelto:

int

ch_stop_time(*channels)#

Return maximum start time for supplied channels.

Parámetros:

*channels (List[Channel]) – Supplied channels

Tipo del valor devuelto:

int

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.

Obsoleto desde la versión 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 using qiskit.visualization.pulse_drawer.

Parámetros:
  • 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

Devuelve:

A matplotlib figure object of the pulse schedule

Tipo del valor devuelto:

matplotlib.figure

insert(start_time, schedule, name=None)#

Return a new Schedule with schedule inserted within self at start_time.

Parámetros:
  • start_time (int) – Time to insert the schedule schedule

  • schedule (Union['Schedule', 'Instruction']) – Schedule or instruction to insert

  • name (str | None) – Name of the new schedule. Defaults to name of self

Devuelve:

A new schedule with schedule inserted with this instruction at t=0.

Tipo del valor devuelto:

Schedule

is_parameterized()[fuente]#

Return True iff the instruction is parameterized.

Tipo del valor devuelto:

bool

shift(time, name=None)#

Return a new schedule shifted forward by time.

Parámetros:
  • time (int) – Time to shift by

  • name (str | None) – Name of the new schedule. Defaults to name of self

Devuelve:

The shifted schedule.

Tipo del valor devuelto:

Schedule