iterative
=========

.. py:module:: iterative

.. autoapi-nested-parse::

   Base class for iterative algorithms



Classes
-------

.. autoapisummary::

   iterative.StateItem
   iterative.AttributeStateItem
   iterative.ConsErrStateItem
   iterative.PosStateItem
   iterative.CellStateItem
   iterative.Hook


Module Contents
---------------

.. py:class:: StateItem(*args, **kwargs)

   Bases: :py:obj:`IMLCV.base.datastructures.MyPyTreeNode`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:attribute:: key
      :type:  str


   .. py:attribute:: value
      :type:  Any


   .. py:method:: update(iterative)


   .. py:method:: get_value(iterative) -> Any
      :abstractmethod:



.. py:class:: AttributeStateItem(*args, **kwargs)

   Bases: :py:obj:`StateItem`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:method:: get_value(iterative)


.. py:class:: ConsErrStateItem(*args, **kwargs)

   Bases: :py:obj:`StateItem`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:method:: get_value(iterative)


.. py:class:: PosStateItem(*args, **kwargs)

   Bases: :py:obj:`StateItem`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:attribute:: key
      :value: 'pos'



   .. py:method:: get_value(iterative)


.. py:class:: CellStateItem(*args, **kwargs)

   Bases: :py:obj:`StateItem`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:attribute:: key
      :value: 'cell'



   .. py:method:: get_value(iterative)


.. py:class:: Hook(*args, **kwargs)

   Bases: :py:obj:`IMLCV.base.datastructures.MyPyTreeNode`


   Base class for dataclasses that should act like a JAX pytree node.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: kind
      :type:  str


   .. py:attribute:: method
      :type:  str


   .. py:attribute:: start
      :type:  jax.Array


   .. py:attribute:: step
      :type:  jax.Array


   .. py:method:: expects_call(counter)


   .. py:method:: __call__(iterative)
      :abstractmethod:



