我在Sympy中有一个索引符号x
,并且表达式是第二度单项式的和,如x[1]*x[2] + x[3]**2 + x[4]*x[1]
。我想将这样一个表达式转换为x[1,2] + x[3,3] + x[4,1]
,即替换x[i]*x[j] -> x[i,j]
x [i] * x [j]用x [i,j]的Sympy替换
有一个可能出现的索引的上限,所以我可以构造一个大表,硬编码每个替换。有没有更好的办法?
回应评论 - 创建X我写
from sympy.tensor import IndexedBase
x = IndexedBase('x')
你可以显示你用来创建x的代码吗? – smichr 2014-12-04 21:20:33
请注意,它可能会给'x [i,j]'或它可能会给'x [j,i]'。 – asmeurer 2014-12-04 22:29:00