Modeling
========

Quantum model
-------------

.. autoclass:: qtealeaves.modeling.QuantumModel
   :members:


Local terms
-----------

.. autoclass:: qtealeaves.modeling.LocalTerm
   :members:

.. autoclass:: qtealeaves.modeling.LindbladTerm
   :members:

.. autoclass:: qtealeaves.modeling.RandomizedLocalTerm
   :members:


Two-body interaction for 1D
---------------------------

.. autoclass:: qtealeaves.modeling.TwoBodyTerm1D
   :members:


String term for 1D
------------------

.. autoclass:: qtealeaves.modeling.StringTerm1D
   :members:

.. autoclass:: qtealeaves.modeling.TwoBodyAllToAllTerm1D
   :members:


Two-body interaction for 2D
---------------------------

.. autoclass:: qtealeaves.modeling.TwoBodyTerm2D
   :members:

.. autoclass:: qtealeaves.modeling.TwoBodyTerm2DLatticeLayout
   :members:


Plaquette term for 2D
---------------------

.. autoclass:: qtealeaves.modeling.PlaquetteTerm2D
   :members:


Block term for 2D
-----------------

.. autoclass:: qtealeaves.modeling.BlockTerm2D
   :members:


Two-body interaction for 3D
---------------------------

.. autoclass:: qtealeaves.modeling.TwoBodyTerm3D
   :members:


Two-body interaction for 3D
---------------------------

.. autoclass:: qtealeaves.modeling.TwoBodyTerm3D
   :members:

Generic n-body interaction for d-dimensional systems
----------------------------------------------------

.. autoclass:: qtealeaves.modeling.CustomSiteTerm
   :members:


Base term
---------

.. autoclass:: qtealeaves.modeling._ModelTerm
   :members:

.. autoclass:: qtealeaves.modeling._ModelTerm1D
   :members:
