我试图创建一个带有索引变量的Sum sympy表达式,就像之前在这里解释的那样。但是,我无法将此表达式进行lambdify并提供数组以计算求和。这是否不可能?
from sympy import Sum, symbols, Indexed, lambdify
import numpy as np
x, i = symbols("x i")
s = Sum(Indexed('x',i),(i,0,3))
f = lambdify(x, s)
b = np.array([1, 2, 3, 4])
f(b)
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