Play#

class qiskit.pulse.instructions.Play(pulse, channel, name=None)[Quellcode]#

Bases: Instruction

This instruction is responsible for applying a pulse on a channel.

The pulse specifies the exact time dynamics of the output signal envelope for a limited time. The output is modulated by a phase and frequency which are controlled by separate instructions. The pulse duration must be fixed, and is implicitly given in terms of the cycle time, dt, of the backend.

Create a new pulse instruction.

Parameter:
  • pulse (Pulse) – A pulse waveform description, such as Waveform.

  • channel (PulseChannel) – The channel to which the pulse is applied.

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

Attributes

channel#

Return the Channel that this instruction is scheduled on.

channels#

Returns the channels that this schedule uses.

duration#

Duration of this instruction.

id#

Unique identifier for this instruction.

instructions#

Iterable for getting instructions from Schedule tree.

name#

Name of this instruction.

operands#

Return instruction operands.

parameters#

Parameters which determine the instruction behavior.

pulse#

A description of the samples that will be played.

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.

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

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

Rückgabe:

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

Rückgabetyp:

Schedule

ch_duration(*channels)#

Return duration of the supplied channels in this Instruction.

Parameter:

*channels (List[Channel]) – Supplied channels

Rückgabetyp:

int

ch_start_time(*channels)#

Return minimum start time for supplied channels.

Parameter:

*channels (List[Channel]) – Supplied channels

Rückgabetyp:

int

ch_stop_time(*channels)#

Return maximum start time for supplied channels.

Parameter:

*channels (List[Channel]) – Supplied channels

Rückgabetyp:

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.

Veraltet ab Version 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.

Parameter:
  • 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

Rückgabe:

A matplotlib figure object of the pulse schedule

Rückgabetyp:

matplotlib.figure

insert(start_time, schedule, name=None)#

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

Parameter:
  • 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

Rückgabe:

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

Rückgabetyp:

Schedule

is_parameterized()#

Return True iff the instruction is parameterized.

Rückgabetyp:

bool

shift(time, name=None)#

Return a new schedule shifted forward by time.

Parameter:
  • time (int) – Time to shift by

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

Rückgabe:

The shifted schedule.

Rückgabetyp:

Schedule