如何通过完成平方来分解方程式?

Chr*_*now 1 sympy

我想通过完成平方来分解方程式:

>>>> import sympy
>>>> x, c = symbols('x c')
>>>> factor(x**2 - 4*x  - 1)
x**2 - 4*x - 1
Run Code Online (Sandbox Code Playgroud)

但是,我期望看到:

(x - 2)**2 - 5
Run Code Online (Sandbox Code Playgroud)

如何在sympy中完成?

Chr*_*now 5

最后我采用的方法是:

>>> 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
Run Code Online (Sandbox Code Playgroud)

资料来源:https : //minireference.com/static/tutorials/sympy_tutorial.pdf