如何在sympy(多项式)中限制除法?

时间:2016-06-19 15:26:30

标签: sympy

我有以下表达式

X=Symbol('X')
expression=(((X**2)*(X-1))*((X*(((2*X)*(X-2))+1))+1)/12)
n,d=fraction(expression)
n=sympify(n).expand(basic=True)
print n/d

我得到以下结果:

X**6/6 -X**5/2 + 5*X**4/12 - X**2/12

我的预期结果是

 (2*X**6 - 6*X**5 + 5*X**4 - X**2)/12

有没有办法表达或需要编写自定义函数来处理

1 个答案:

答案 0 :(得分:3)

SymPy将分部表示为multiplication by power -1。要在不进行评估的情况下表示分部,请使用Mul并设置evaluate=False

print Mul(n, Pow(d, -1), evaluate=False)

返回

(2*X**6 - 6*X**5 + 5*X**4 - X**2)/12