2016-06-19 41 views
2

我有以下表達式如何限制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 

是否有sympy方式或需要編寫自定義功能處理

回答

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