probsys / sppl

Probabilistic programming system for fast and exact symbolic inference
Apache License 2.0
76 stars 10 forks source link

Fix condition on DiscreteReal Atomic for non-Range data type #77

Closed fsaad closed 4 years ago

fsaad commented 4 years ago
spn = (X << poisson(mu=5))
w = spn.condition(X << {1,2,3, 10})

The conditional distribution needs to be a mixture of atoms, instead of assuming full support on the bounds.

fsaad commented 4 years ago

Specifically the assumption of full support between

        self.xl = float(support.inf)
        self.xu = float(support.sup)