class_docstr: Funsor representing an integral wrt a log density funsor.
  
  :param Funsor log_measure: A log density funsor treated as a measure.
  :param Funsor integrand: An integrand funsor.
  :param reduced_vars: An input name or set of names to reduce.
  :type reduced_vars: str, Variable, or set or frozenset thereof.
class_docstr_tok: ["Funsor","representing","an","integral","wrt","a","log","density","funsor",".",":","param","Funsor","log_measure",":","A","log","density","funsor","treated","as","a","measure",".",":","param","Funsor","integrand",":","An","integrand","funsor",".",":","param","reduced_vars",":","An","input","name","or","set","of","names","to","reduce",".",":","type","reduced_vars",":","str",",","Variable",",","or","set","or","frozenset","thereof","."]
code: def __init__(self, log_measure, integrand, reduced_vars):
      assert isinstance(log_measure, Funsor)
      assert isinstance(integrand, Funsor)
      assert isinstance(reduced_vars, frozenset)
      assert all(isinstance(v, Variable) for v in reduced_vars)
      reduced_names = frozenset(v.name for v in reduced_vars)
      inputs = OrderedDict(
          (k, d)
          for term in (log_measure, integrand)
          for (k, d) in term.inputs.items()
          if k not in reduced_names
      )
      output = integrand.output
      fresh = frozenset()
      bound = {v.name: v.output for v in reduced_vars}
      super(Integrate, self).__init__(inputs, output, fresh, bound)
      self.log_measure = log_measure
      self.integrand = integrand
      self.reduced_vars = reduced_vars
  
imports: from collections import OrderedDict
  from functools import reduce
  from typing import Tuple, Union
  import funsor.ops
  from funsor.cnf import Contraction, GaussianMixture
  from funsor.constant import Constant
  from funsor.delta import Delta
  from funsor.gaussian import Gaussian, _norm2, _vm, align_gaussian
  from funsor.interpretations import eager, normalize
  from funsor.tensor import Tensor
  from funsor.terms import Funsor, FunsorMeta, Number, Subs, Unary, Variable, _convert_reduced_vars, substitute, to_funsor
label_desc: Use image node_id 1 to create a new Integrate object from inherited base classes: Funsor with example: obj = Integrate(log_measure, integrand, reduced_vars)