sumsympycalculus

Sympy summation with indexed variable


I try to create a sympy expression with a Sum with an indexed variable as previous explain here However, I can not do lambdify of this expression and give an array to get the sum calculated. Is this impossible?


Solution

  • Perhaps like this?

    from sympy.abc import i
    s = Sum(Indexed('x',i),(i,1,3))
    f = lambda x: Subs(s.doit(), [s.function.subs(s.variables[0], j)
    for j in range(s.limits[0][1], s.limits[0][2] + 1)], x).doit()
    
    >>> f((30,10,2))
    42