Sympy定制订购?

时间:2014-11-28 16:43:37

标签: sympy

我想重写10x^7-xy+y/x+2x^5的积分作为积分之和。 像

这样的东西
Int(10x^7-xy+y/x+2x^5) = Int(10x^7)-Int(xy)+Int(y/x)+Int(2x^5)

但是,sympy有自己的排序和输出

Int(10x^7-xy+y/x+2x^5) = Int(2x^5)+Int(10x^7)+Int(y/x)-Int(xy)

如果Int是我自己的类,我可以在哪里覆盖此行为?

1 个答案:

答案 0 :(得分:1)

这种行为深深地刻在同情之中,你无法通过自己的Integral课来覆盖它。

来自Sympy docs

  

最后,最后一点说明。您可能已经注意到我们输入表达式的顺序以及它从srepr或图表中出现的顺序是不同的[...]这是因为在SymPy中,可交换操作的参数{{1} }和Add以任意(但一致!)的顺序存储,与输入的顺序无关。

因此,与本机python字典类似,元素处于任意但一致的顺序。没有简单的方法来改变它。