Miscellaneous Ops
=================

The ``pyro.ops`` module implements tensor utilities
that are mostly independent of the rest of Pyro.

Utilities for HMC
-----------------

.. automodule:: pyro.ops.dual_averaging
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

.. automodule:: pyro.ops.integrator
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

.. automodule:: pyro.ops.welford
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

Newton Optimizers
-----------------

.. automodule:: pyro.ops.newton
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

Tensor Indexing
---------------

.. automodule:: pyro.ops.indexing
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

Tensor Contraction
------------------

.. automodule:: pyro.ops.einsum
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource

.. autofunction:: pyro.ops.contract.einsum

.. autofunction:: pyro.ops.contract.ubersum

Gaussian Contraction
--------------------

.. automodule:: pyro.ops.gaussian
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource
    :special-members: __add__,__getitem__

Statistical Utilities
---------------------

.. automodule:: pyro.ops.stats
    :members:
    :undoc-members:
    :show-inheritance:
    :member-order: bysource
