paulicirc.gadgets
=================

.. automodule:: paulicirc.gadgets

CommutationCode
---------------

.. autoclass:: paulicirc.gadgets.CommutationCode
    :show-inheritance:
    :members:

Gadget
------

.. autoclass:: paulicirc.gadgets.Gadget
    :show-inheritance:
    :members:

GadgetData
----------

.. autodata:: paulicirc.gadgets.GadgetData

PAULI_CHARS
-----------

.. autodata:: paulicirc.gadgets.PAULI_CHARS

PAULI_MATS
----------

.. autodata:: paulicirc.gadgets.PAULI_MATS

PHASE_NBYTES
------------

.. autodata:: paulicirc.gadgets.PHASE_NBYTES

Pauli
-----

.. autodata:: paulicirc.gadgets.Pauli

PauliArray
----------

.. autodata:: paulicirc.gadgets.PauliArray

PauliArray2D
------------

.. autodata:: paulicirc.gadgets.PauliArray2D

PauliChar
---------

.. autodata:: paulicirc.gadgets.PauliChar

Phase
-----

.. autoclass:: paulicirc.gadgets.Phase
    :show-inheritance:
    :members:

PhaseArray
----------

.. autodata:: paulicirc.gadgets.PhaseArray

PhaseDataArray
--------------

.. autodata:: paulicirc.gadgets.PhaseDataArray

PhaseLike
---------

.. autodata:: paulicirc.gadgets.PhaseLike

QubitIdx
--------

.. autoclass:: paulicirc.gadgets.QubitIdx
    :show-inheritance:
    :members:

QubitIdxs
---------

.. autodata:: paulicirc.gadgets.QubitIdxs

are_same_phase
--------------

.. autofunction:: paulicirc.gadgets.are_same_phase

are_same_phases
---------------

.. autofunction:: paulicirc.gadgets.are_same_phases

broadcast_idxs
--------------

.. autofunction:: paulicirc.gadgets.broadcast_idxs

commute_gadget_pair
-------------------

.. autodata:: paulicirc.gadgets.commute_gadget_pair

decode_phases
-------------

.. autodata:: paulicirc.gadgets.decode_phases

encode_phases
-------------

.. autodata:: paulicirc.gadgets.encode_phases

gadget_data_len
---------------

.. autofunction:: paulicirc.gadgets.gadget_data_len

gadget_overlap
--------------

.. autodata:: paulicirc.gadgets.gadget_overlap

get_gadget_leg_at
-----------------

.. autodata:: paulicirc.gadgets.get_gadget_leg_at

get_gadget_legs
---------------

.. autodata:: paulicirc.gadgets.get_gadget_legs

get_gadget_legs_at
------------------

.. autodata:: paulicirc.gadgets.get_gadget_legs_at

get_phase
---------

.. autodata:: paulicirc.gadgets.get_phase

invert_phases
-------------

.. autodata:: paulicirc.gadgets.invert_phases

is_zero_phase
-------------

.. autodata:: paulicirc.gadgets.is_zero_phase

pauli_product_phase
-------------------

.. autodata:: paulicirc.gadgets.pauli_product_phase

set_gadget_leg_at
-----------------

.. autodata:: paulicirc.gadgets.set_gadget_leg_at

set_gadget_legs
---------------

.. autofunction:: paulicirc.gadgets.set_gadget_legs

set_gadget_legs_at
------------------

.. autodata:: paulicirc.gadgets.set_gadget_legs_at

set_phase
---------

.. autodata:: paulicirc.gadgets.set_phase

zero_gadget_data
----------------

.. autofunction:: paulicirc.gadgets.zero_gadget_data
