mbi.marginal_oracles.sum_product

mbi.marginal_oracles.sum_product(factors: list[~mbi.factor.Factor], dom: ~mbi.domain.Domain, einsum_fn=<function einsum>) Factor[source]

Compute the sum-of-products of a list of Factors using einsum.

Parameters:
  • factors – A list of Factors.

  • dom – The target domain of the output factor.

Returns:

sum_{S - D} prod_i F_i, where

  • F_i = factors[i]

  • D = dom

  • S = union of domains of F_i