I played with the implemented multinomial distribution found this unexpected behavior of
import numpy as np import pymc3 as pm np.exp(pm.Multinomial.dist(n = 1, p = np.array([0, 1])).logp(np.array([0, 1])).eval())
My PyMC3 3.4.1 returns
array([nan]) even know by definition this should be
np.exp(pm.Multinomial.dist(n = 2, p = np.array([0, 1])).logp(np.array([1, 1])).eval())
I think one can work around this issue by sub setting p and x to the values where p \ne 0 or x \ne 0 but it would be nicer if this is done automatically.