如何通过完成正方形来计算方程?

时间:2017-04-30 08:39:35

标签: sympy

我想通过填写正方形来计算等式:

>>>> import sympy
>>>> x, c = symbols('x c')
>>>> factor(x**2 - 4*x  - 1)
x**2 - 4*x - 1

但是,我期待看到:

(x - 2)**2 - 5

如何在同情中做到这一点?

2 个答案:

答案 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