code: public void prod(VarTensor f) {
          VarTensor newFactor = applyBinOp(this, f, new AlgebraLambda.Prod());
          internalSet(newFactor);  
      }
docs: Multiplies a factor to this one.
  
  From libDAI:
  The product of two factors is defined as follows: if
  \f$f : \prod_{l\in L} X_l \to [0,\infty)\f$ and \f$g : \prod_{m\in M} X_m \to [0,\infty)\f$, then
  \f[fg : \prod_{l\in L\cup M} X_l \to [0,\infty) : x \mapsto f(x_L) g(x_M).\f]