
    z	i5	                     t    S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  \" SS/SS//5       " S S\5      5       r
g	)
zIdentity gate.    )Optional)SingletonGatestdlib_singleton_key)with_gate_array)StandardGate   c                      ^  \ rS rSrSr\R                  rSS\\	   4U 4S jjjr
\" 5       rSS\4S jjrSS\S\4S jjrS	 rS
rU =r$ )IGate   u  Identity gate.

Identity gate corresponds to a single-qubit gate wait cycle,
and should not be optimized or unrolled (it is an opaque gate).

Can be applied to a :class:`~qiskit.circuit.QuantumCircuit`
with the :meth:`~qiskit.circuit.QuantumCircuit.i` and
:meth:`~qiskit.circuit.QuantumCircuit.id` methods.

Matrix representation:

.. math::

    I = \begin{pmatrix}
            1 & 0 \\
            0 & 1
        \end{pmatrix}

Circuit symbol:

.. code-block:: text

         ┌───┐
    q_0: ┤ I ├
         └───┘
labelc                 &   > [         TU ]  SS/ US9  g)z2
Args:
    label: An optional label for the gate.
idr   )r   N)super__init__)selfr   	__class__s     a/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/circuit/library/standard_gates/i.pyr   IGate.__init__4   s    
 	q"E2    	annotatedc                     [        5       $ )am  Returne the inverse gate (itself).

Args:
    annotated: when set to ``True``, this is typically used to return an
        :class:`.AnnotatedOperation` with an inverse modifier set instead of a concrete
        :class:`.Gate`. However, for this class this argument is ignored as this gate
        is self-inverse.

Returns:
    IGate: inverse gate (self-inverse).
.r
   )r   r   s     r   inverseIGate.inverse=   s     wr   exponentc                     [        5       $ Nr   )r   r   r   s      r   powerIGate.powerK   s	    wr   c                 "    [        U[        5      $ r   )
isinstancer
   )r   others     r   __eq__IGate.__eq__N   s    %''r    r   )F)__name__
__module____qualname____firstlineno____doc__r   I_standard_gater   strr   r   _singleton_lookup_keyboolr   floatr   r#   __static_attributes____classcell__)r   s   @r   r
   r
      s\    6 "^^N3hsm 3 3 12 e  ( (r   r
   N)r*   typingr   qiskit.circuit.singletonr   r   qiskit.circuit._utilsr   qiskit._accelerate.circuitr   r
   r%   r   r   <module>r7      sC      H 1 3 1a&1a&!"9(M 9( #9(r   