Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

instructions

The instruction module holds the various Instruction s which are supported by Qiskit Pulse. Instructions have operands, which typically include at least one Channel specifying where the instruction will be applied.

Every instruction has a duration, whether explicitly included as an operand or implicitly defined. For instance, a ShiftPhase instruction can be instantiated with operands phase and channel, for some float phase and a Channel channel:

ShiftPhase(phase, channel)

The duration of this instruction is implicitly zero. On the other hand, the Delay instruction takes an explicit duration:

Delay(duration, channel)

An instruction can be added to a Schedule, which is a sequence of scheduled Pulse Instruction s over many channels. Instruction s and Schedule s implement the same interface.

Acquire(duration[, channel, mem_slot, …])The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g.
Delay(duration[, channel, name])A blocking instruction with no other effect.
Play(pulse, channel[, name])This instruction is responsible for applying a pulse on a channel.
SetFrequency(frequency, channel[, name])Set the channel frequency.
ShiftPhase(phase[, channel, name])The shift phase instruction updates the modulation phase of proceeding pulses played on the same Channel.
Snapshot(label[, snapshot_type, name])An instruction targeted for simulators, to capture a moment in the simulation.

Abstract Classes

Instruction(operands, duration, channels[, name])The smallest schedulable unit: a single instruction.
Was this page helpful?
Report a bug or request content on GitHub.