§
    º³Ùgå  ã                   ó†   — d Z ddlmZ ddlmZ ddlmZmZmZ ddl	m
Z
 ddlmZmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ dS )a°  
.. _pulse-insts:

===============================================
Instructions (:mod:`qiskit.pulse.instructions`)
===============================================

The ``instructions`` module holds the various :obj:`Instruction`\ s which are supported by
Qiskit Pulse. Instructions have operands, which typically include at least one
:py:class:`~qiskit.pulse.channels.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 :py:class:`~qiskit.pulse.instructions.ShiftPhase` instruction can be instantiated
with operands *phase* and *channel*, for some float ``phase`` and a
:py:class:`~qiskit.pulse.channels.Channel` ``channel``::

    ShiftPhase(phase, channel)

The duration of this instruction is implicitly zero. On the other hand, the
:py:class:`~qiskit.pulse.instructions.Delay` instruction takes an explicit duration::

    Delay(duration, channel)

An instruction can be added to a :py:class:`~qiskit.pulse.Schedule`, which is a
sequence of scheduled Pulse ``Instruction`` s over many channels. ``Instruction`` s and
``Schedule`` s implement the same interface.

.. autosummary::
   :toctree: ../stubs/

   Acquire
   Reference
   Delay
   Play
   RelativeBarrier
   SetFrequency
   ShiftFrequency
   SetPhase
   ShiftPhase
   Snapshot
   TimeBlockade

These are all instances of the same base class:

.. autoclass:: Instruction
é   )ÚAcquire)ÚDelay)Ú	DirectiveÚRelativeBarrierÚTimeBlockade)ÚInstruction)ÚSetFrequencyÚShiftFrequency)Ú
ShiftPhaseÚSetPhase)ÚPlay)ÚSnapshot)Ú	ReferenceN)Ú__doc__Úacquirer   Údelayr   Ú
directivesr   r   r   Úinstructionr   Ú	frequencyr	   r
   Úphaser   r   Úplayr   Úsnapshotr   Ú	referencer   © ó    úX/granary/edev/quantum/lib/python3.11/site-packages/qiskit/pulse/instructions/__init__.pyú<module>r      sÒ   ðð-ð -ð\ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø $Ð $Ð $Ð $Ð $Ð $Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  r   