【发布时间】:2014-08-22 21:16:38
【问题描述】:
我试图表达对任意(但有限)数量的符号的求和,我希望由另一个符号给出。例如,是否可以说:
N,ci,cj = symbols('N,c_i,c_j')
# pseudocode
k = sum(ci+cj,(ci,0,N),(cj,0,N))
或者,更确切地说,
k = sum(ci+cj, (ci != cj))
我的直觉是它不是,但我希望 sympy 能够实现对它的支持!
更新
似乎 sympy 为索引变量提供了规定。即:
x = IndexedBase('x')
i,j = symbols('i j',cls=Idx)
但是,尝试时可能会出错:
y = Sum(x[i], (i, 0, 2))
这是:
ValueError: Invalid limits given: ((i, 1, 5),)
【问题讨论】:
-
是的,
Indexed的实例需要在Sum中得到支持,我自己也遇到了这个问题,但还没有解决它。这“只是”修补 sympy 代码库并发送 PR 的问题。 :)