I'd say this is a bug. The problem it it's evaluating the inner sum to an expression that has terms like (w_1_2_3 - 1) in both the numerator and denominator without cancelling them. You can work around it by evaluating and simplifying the inner summand separately:
>>> 7*Sum((binomial(5, w_1_2_3)*Sum(binomial(0, -w_1_2_3 + w_1_3)*binomial(2, >>> w_1_2_3 - w_1_3 - 2)*binomial(13, 11 - w_1_2_3), (w_1_3, w_1_2_3, >>> 5)).doit()).simplify(), (w_1_2_3, 0, 5)).doit()/868017280 0 Aaron Meurer On Wed, Aug 3, 2022 at 12:26 PM Hadas Biran <hadas.mor...@gmail.com> wrote: > > I'm trying to evaluate a long expression with lots of summations and n choose > k's. For some reason, the following expression (which is a part of the long > expression) returns NaN. > > from sympy import * > w_1_2_3 = symbols('w_1_2_3') > w_1_3 = symbols('w_1_3') > w_2_3 = symbols('w_2_3') > w_1_2 = symbols('w_1_2') > exprr = 7*Sum(binomial(5, w_1_2_3)*Sum(binomial(0, -w_1_2_3 + > w_1_3)*binomial(2, w_1_2_3 - w_1_3 - 2)*binomial(13, 11 - w_1_2_3), (w_1_3, > w_1_2_3, 5)), (w_1_2_3, 0, 5))/868017280 > exprr.doit() -> NaN > > However, if I evaluate each of the terms in the first sum separately, I get 0 > for each of them (as should be): > > exprr2 = binomial(5, w_1_2_3)*Sum(binomial(0, -w_1_2_3 + w_1_3)*binomial(2, > w_1_2_3 - w_1_3 - 2)*binomial(13, 11 - w_1_2_3), (w_1_3, w_1_2_3, 5)) > for t in range(0, 6): > res = exprr2.subs(w_1_2_3, t).doit() > print(t, res) > -> 0 0 > 1 0 > 2 0 > 3 0 > 4 0 > 5 0 > > What is going on here? Why do I get NaN for the overall term? > > I also posted a question in > StackOveflow-https://stackoverflow.com/questions/73222278/sympy-doit-returns-nan-instead-of-zero > > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/bd9abc43-562c-4ce1-8561-310e2b97dfdcn%40googlegroups.com. -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BH9Vry%3DaaKLpfA41iqUB4KGB%2BX%3DRZiLQde9fXF%2BQOMSw%40mail.gmail.com.