Einsum Interface¶
This interface implements tensor variable elimination among tensors. In particular it does not implement continuous variable elimination.
-
naive_plated_einsum
(eqn, *terms, **kwargs)[source]¶ Implements Tensor Variable Elimination (Algorithm 1 in [Obermeyer et al 2019])
- [Obermeyer et al 2019] Obermeyer, F., Bingham, E., Jankowiak, M., Chiu, J.,
- Pradhan, N., Rush, A., and Goodman, N. Tensor Variable Elimination for Plated Factor Graphs, 2019
-
einsum
(eqn, *terms, **kwargs)[source]¶ Top-level interface for optimized tensor variable elimination.
Parameters: - equation (str) – An einsum equation.
- *terms (funsor.terms.Funsor) – One or more operands.
- plates (set) – Optional keyword argument denoting which funsor dimensions are plate dimensions. Among all input dimensions (from terms): dimensions in plates but not in outputs are product-reduced; dimensions in neither plates nor outputs are sum-reduced.