The recursion issue was caused by the evaluation of incomplete gamma 
functions being recursive. That was changed in PR #14021 
<https://github.com/sympy/sympy/pull/14021> which was merged two days ago. 
Try to update the branch you are working with (the PR changes another 
module, so there should be no merge conflicts.)

Somewhat related: the current approach to Poisson CDF is to compute it by 
summing the PDF (symbolically), which results in a decent formula in terms 
of lower incomplete gamma function. However that formula has a couple of 
flaws: (1) it does not take the floor of x, which leads to wrong output for 
fractional x.
>>> cdf(Poisson('x', 5))(0).n()
0.00673794699908547
>>> cdf(Poisson('x', 5))(0.9).n()
0.0350993891118802

(2) It would be simpler and better for numerics to use the upper incomplete 
gamma function. 

So I suggest adding the Poisson CDF formula from Wikipedia and adding it as 
an internal _cdf method to the PoissonDistributionClass. This was recently 
done for many continuous distributions (Example 
<https://github.com/sympy/sympy/blob/master/sympy/stats/crv_types.py#L1258>), 
but not for discrete ones.  


-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/6592d93b-573c-4908-80a2-6468580f872b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to