z3简化为多项式形式

时间:2014-04-08 18:27:12

标签: z3 polynomial-math z3py

如何使用z3以多项式形式打印(x)的复杂函数? simplify函数打印出令人讨厌的东西:

-1/120*(-5 + x)*(-4 + x)*(-3 + x)*(-2 + x)*(-1 + x) +
1/12*x*(-5 + x)*(-4 + x)*(-3 + x)*(-2 + x) +

1 个答案:

答案 0 :(得分:1)

使用Z3Py的一种可能的解决方案

x = Real('x')
y = (-1/120)*(-5+x)*(-4+x)*(-3+x)*(-2+x)*(-1+x)
z = (1/12)*(-5+x)*(-4+x)*(-3+x)*(-2+x)
w = y + z
print simplify(simplify(w, som=True), mul_to_power=True)

,相应的输出是

120 + -274*x + 225*x**2 + -85*x**3 + 15*x**4 + -1*x**5