一元高次方程的求解¶
一元二次方程¶
一元二次方程(quadratic equation of one unknown),简称二次方程(quadratic equation),可以用完全平方公式\(a^2+b^2+2ab=(a+b)^2\)求出方程的解。对于一个一般的一元二次方程
其中\(a,b,c \in \mathbb{C}\)且\(a\ne0\),我们下面尝试将其配为完全平方式。
首先将方程两边除以\(a\)得:
然后在两边减去\(c/a\)再加上\((b/2a)^2\)得:
左边利用完全平方公式可得:
两边开平方,有:
最后两边减去\(b/2a\)得:
此即一元二次方程的求根公式。
对于实系数的一元二次方程,注意到公式中有开根号的部分,我们将根号内的部分\(b^2-4ac\)称为判别式,记作希腊字母\(\Delta\)。根据\(\Delta\)的符号,我们可以做以下讨论:
- 当\(\Delta\ge0\)时,方程有实数根;
- 当\(\Delta>0\)时,方程有两个不等的实数根;
- 当\(\Delta=0\)时,方程有一个二重根;
- 当\(\Delta<0\)时,方程无实数根,但可解出两个共轭复数\(\alpha\pm \beta\mathrm{i}\)(其中\(\alpha=-b/2a,\beta=\sqrt{-\Delta}/2a\))。
一元三次方程¶
一元三次方程(Cubic equation of one unknown)的求解比一元二次方程复杂得多。
一元三次方程的基本形式为:
(其中\(a,b,c,d\in\mathbb C,a\ne0\))。我们先在两边除以\(a\),得到三次项的系数为\(1\)的方程:
(其中\(b'=b/a,c'=c/a,d'=d/a\))。令方程的左边为\(f(x)\),则\(f(x)\)是一个三次函数。
在实数范围内,三次函数的图像有一个拐点,且图像关于拐点中心对称,这启示我们可以通过平移变换来进一步化简方程。
令\(f''(x)=6x+2b'=0\)得\(x=-b'/3\)。我们可以将函数图像往右平移\(b'/3\),令\(x=z-b'/3\)有:
展开得:
(其中\(p=c'-b'/3,q=2(b')^3/27-b'c'/3+d\))。于是,我们得到了一个缺二次项的一元三次方程,问题归结为解这个一元三次方程。
若\(q=0\vee p=0\),则原方程的解是显然的(由因式分解定理很容易看出来)。以下我们讨论\(q\ne0 \land p\ne0\)的情形。
引入两个新的未知数\(z=u+v\),我们注意到有:
或者写为:
于是,我们将上式与\(g(z)\)的形式比较,得到:
将第一个等式两边立方得:
上式和Vieta定理的形式很相似,我们利用Vieta定理,将\(u^3,v^3\)看作二次方程\(y^2+qy-p^3/27=0\)的两个根。
于是,这个二次方程的判别式为:
解这个二次方程得:
在复数域下,\(u,v\)可取到到六个解:
(其中\(i\)可取\(0,1\)或\(2\),与后面正负号组合得到\(2\times3=6\)个解)。
此时由\(z=u+v\)可取得根\(z\)的21中可能情况。
不过,我们知道\(g(z)\)实际上只有3个根,而这里出现了21种可能,这说明有些情况不是\(g(z)=0\)的解。由三次方程的Vieta定理,有:
代入验证(也可以直接代入原方程),我们可以排除其中的几种情况,剩下3个解,为:
上面这个公式也称为Cardan公式。
得到\(g(z)=0\)的3个根之后,我们再令\(x_i=z_i-b'/3=z_i-b/3a\),得到原方程\(ax^3+bx^2+cx+d=0\)的三个根。
一元四次方程¶
一元四次方程(Quartic equation of one unknown)的解法也需要基于一元三次方程。以下我们提供一元四次方程的Ferrari解法。
对于一般的一元四次方程\(ax^4+bx^3+cx^2+dx+e=0(a,b,c,d,e\in\mathbb C,a\ne0)\),我们在方程的两边除以\(a\),再做平移\(x=z-b/4a\)(\(-b/4a\)是\(f'''(x)=0\)的零点),得到如下形式:
若\(q=0\),则这可以看作是一个关于\(z^2\)的二次方程,因此很容易求出它的解。下面我们讨论\(q\ne0\)的情况。
引入一个参数\(u\)。为使\(g(z)\)能因式分解,在上式插入\(uz^2+u^2/4\)一项,得到:
上式的第一个括号是完全平方,如果第二个括号也是一个完全平方,我们就可以利用平方差公式,因式分解为两个二次多项式的乘积。第二个括号是完全平方的条件为:
这是一个关于\(u\)的三次方程,称为一元四次方程的预解式。
由预解式解出一个\(u\)后,一元四次方程可因式分解为两个一元二次方程。从方程解出\(z\),再代回变换\(x=z-a/4\),就得到四次方程的解。
而注意到,虽然由预解式可以得到\(u\)的3个解,但由因式分解定理,四次方程的因式分解结果一定是唯一的。所以,代入不同的\(u\)只影响因式分解的过程,而不影响因式分解的结果,所以也不影响方程的解。
五次以上方程¶
一般地,多项式\(p(x)=a_0+a_1x+\cdots+a_nx^n(n\ge1)\)的求根公式,就是将根表示为关于多项式系数的函数:
前面有关2、3、4次方程的求根公式,均是将根表示为了系数的函数。
根据代数基本定理(Fundamental theorem of algebra),\(n\)次多项式在复数域\(\mathbb{C}\)上必有\(n\)个根(重根按重数计算)。所以,5次及以上的方程,它的根是必定存在的。不过,可以发现,虽然我们在代数基本定理证明了根的存在,但却没有给出求根公式或者根的算法。
历史上,5次方程和5次以上方程的解法,经过了很长时间的探索。直到1830s,法国数学家Galois在研究这一问题的过程提出了群论(Group theory),并借助群理论证明了5次以上方程的解不可能用有限次四则运算和开根号表示。
积分学中,许多初等函数的积分无法用初等函数表示;而代数学中,五次以上的方程也无法用四则运算和根式表示。它们的本质原因,都是一个人为规定的集合(如初等函数)太过狭小,不足以涵盖所有的情况。
正因为多项式的根无法直接求出,我们才要研究更多一元多项式理论,例如用辗转相除法求最大公因式,用导数和高阶导数判断多项式的根,以及研究有理系数多项式的求根方法,等等。