我想通过填写正方形来计算等式:
>>>> import sympy
>>>> x, c = symbols('x c')
>>>> factor(x**2 - 4*x - 1)
x**2 - 4*x - 1
但是,我期待看到:
(x - 2)**2 - 5
如何在同情中做到这一点?
答案 0 :(得分:3)
在这种情况下,您可以使用solve
获取因素:
>>> solve(x**2-4*x-1)
[2 + sqrt(5), -sqrt(5) + 2]
我不希望factor
向我提供问题中建议的形式的因素。但是,如果你真的想要完成广场' sympy将为你做算术(你需要知道步骤)但不多,AFAIK。
答案 1 :(得分:3)
我最终采用的方法是:
>>> h, k, x = symbols('h k x')
>>> solve( (x-h)**2 - k - (x**2-4*x-1), [h,k] )
[(2, 5)]
# so h = 2 and k = 5
# (x-2)**2 - 5
来源:https://minireference.com/static/tutorials/sympy_tutorial.pdf