我试图表达对任意(但有限)数量的符号的求和,我希望用另一个符号给出。例如,是否可以说:
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为索引变量提供了条款。即:
x = IndexedBase('x')
i,j = symbols('i j',cls=Idx)
但是,尝试时可能会出错:
y = Sum(x[i], (i, 0, 2))
这是:
ValueError: Invalid limits given: ((i, 1, 5),)
答案 0 :(得分:1)
您可以使用功能,例如x = symbols('x', cls=Function)
和x(i)
。索引也应该有效,但看起来Sum有一个不允许Idx
的错误。但是,如果你只使用i = symbols('i')
,它就可以了。