定义边界为OTHER符号的符号范围

时间:2014-08-22 21:16:38

标签: python math sympy

我试图表达对任意(但有限)数量的符号的求和,我希望用另一个符号给出。例如,是否可以说:

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),)

1 个答案:

答案 0 :(得分:1)

您可以使用功能,例如x = symbols('x', cls=Function)x(i)。索引也应该有效,但看起来Sum有一个不允许Idx的错误。但是,如果你只使用i = symbols('i'),它就可以了。