欢迎光临散文网 会员登陆 & 注册

硬核科普,五次方程求根

2020-04-19 12:02 作者:fangquping  | 我要投稿

五次方程没有解么?不!它能解,科学不会让你失望的……

欧拉算不出的都是不能算的

      说自从卡尔达诺和费拉里求出三次方程和四次方程求根公式之后就再没人能解决五次方程了……之后大神数学家欧拉与拉格朗日也致力于求解高次的方程,但都失败了,不过失败是成功之母,那期间有了很大的进步,近似值的理论日益显现。

     拉格朗日研究出五次方程的求根策略,虽然没有得到公式,但给后人很多启示,到了十九世纪,一位传奇数学家鼓足勇气在20岁的时候死去,临终前证明出了一般一元五次方程没有根式解——他就是伽罗瓦,把高次求根的问题画上了圆满的句号。

    句号是画上了,但五次方程呢?没有根式解也不能阻碍人们对五次方程的追求,现在的理论可以算根的近似值,而且想算到几位就能算几位。

数学家伽罗瓦与欧拉

脑洞大开的数列问题

    为了说明算法,这里先探讨数列的问题,这既古老又神秘的理论,最经典的莫过于递推数列了,而最美丽的递推应该算是斐波那契数列了。这是数学家斐波那挈提出来的,抽象出来就是前两项的和是第三项的数列,即递推公式是Fn=Fn-1+Fn-2,其中F0=0,F1=1,其通项公式有很多方法求,最后发现通项是个很奇葩的结果:

    这个数列全是整数,咋通项用无理数来表示了?很令人惊奇,不过理论研究还是很多的,后来发现,如果递推公式是线性递推样式,那么其通项总能表示成

an= c1x1^n+c2x2^n+…+ckxk^n的形式,前提是特征方程没有重根。

    而特征方程是啥呢?就是以x1,x2,x3,…, xk为根的方程,这个方程是啥样式的呢?很简单,就是(x-x1)(x-x2)…(x-xk)呗,这个方程展开之后一个神奇的结果出现啦,它刚好和递推公式一致,就是把a换成x,例如斐波那挈数列的特征方程就是x²-x-1=0,同理,如果递推公式是an=an-1+an-2+an-3,那么特征方程将是x³=x²+x+1,即x³-x²-x-1=0,当然这里有系数c1,c2, …, ck为常数,是通过初始值算的,重要的事情说三遍,特征方程一定不能有重根哦,没有重根通项公式才是这样的!

    要怎么证明呢?可以一点点递推的证明,就像数学归纳法,假设x1,x2,…, xk是方程不同的根,那么一定能算出来c1,c2, …, ck,至于为什么一定有解,涉及到矩阵的问题,就不细说了,算出之后就有

设特征方程为x^k=Ax^(k-1)+Bx^(k-2)+…+Cx+D,那么x=x1,x2,…, xk时都成立,那么有

这样ak也满足条件了,同理序号为k+1时也可以证明通项公式成立,依次类推,即可证明,这就是递推公式的原理了。

数学家斐波那契

    其实利用递推公式的特点可以很简单的计算很多问题,比如山东省中考题:

已知x+y=1,x²+y²=2,求x^7+y^7

这题可以按照对称找关系的方法计算,不过考虑递推公式会简单些,将x,y看作是特征方程的两个根,可知xy=(1-2)÷2=-0.5,x≠y,那么特征方程是t²-t-0.5=0,数列的递推公式就是an=an-1+0.5an-2,如果a0=2,a1=1,那么an=x^n+y^n,求a7既可

a1=1, a2=2, a3=2.5, a4=3.5, a5=4.75, a6=6.5, a7=8.875

不用对称式来回化简了,x^7+y^7=8.875

    看到前面的算法你有啥想法呢?说了半天好像和五次方程求根没有任何关系,不过看似不相关的内容或许存在玄妙的联系,如果求根也能递推会不会让问题简单些呢?从这个角度出发,人们研究出了一种迭代求根的算法,当然灵感来源于拉格朗日的理论…

五次方程求根方法

      有一种递推的方法可以求五次方程的根,而且这种方法适用于解任何方程,就是把方程看作是函数,它有个优势就是任意的五次方程一定会存在实根,找到这个实根,然后用综合除法简化成四次的,从而用费拉里的方法解就行了。

    那么,为啥五次方程一定有实根呢?设五次方程对应的函数为f(x),因为它最高项次数是5,当x很大时,主要呈现x^5的形式了,这里只考虑五次系数是1的情况,因为一元五次方程都可化成这种形式,因此我可以找到一个b,使f(b)>0,同理由于5是奇数,当x趋势-∞时必然也能找到一个a,使f(a)<0,由于f(x)连续,在区间[a,b]上,必然有实根。

      知道有根了,下面的问题就是找到它了。可以按照方程f(x)=0,将其化简成x=φ(x)的形式,将它看成是递推公式,在有根区间上找到初始值x0,一直迭代下去,就能收敛到真正的根,设它是x*吧,感觉有些凌乱呢?其实就是将y=φ(x)与y=x联立,其交点就是根了,但这种方法不一定收敛的,有些情况可以收敛,如下图:

有些情况就不收敛,如下图:

那什么时候收敛什么时候不收敛呢?有下面的定理

设有方程x=φ(x),

(a)设φ(x)于[a, b]一阶导数存在

(b)当x∈[a, b]时,有φ(x)∈[a, b],

(c)φ’(x)满足条件:|φ’(x)|≤L<1,∀x∈[a, b],则有

(1)x=φ(x)在[a, b]上有唯一解x*

(2)对任意选取初始值x0∈[a, b],迭代过程

xk+1=φ(xk) (k=0,1,…) 收敛,即lim xk=x*,

(3)

(4)误差估计 (k=1, 2, …)

所以,求五次方程的根就在有根区间内找到导函数绝对值小于1的φ(x)即可,比如我想求sin27°,因为27=135÷5,因此根据棣莫弗公式可以按照sin135°列方程,而根据定理,需要找到有根区间,特别强调一下,偶重根时,不能按照区间正负来找根,因为两边可能同号,设x=27°,有

设sin27°=t,那么有

这个方程没有偶重根,因为它表示t=sinx,而sin5x=sin135°=sin45°,其中5个根分别是sin(-63°), sin(-45°), sin9°, sin27°, sin81°。但是这里不能满足在有根区间内|φ’(x)|<1,所以需要改变一下再确定φ(x),即

这样在有根区间就满足|φ’(x)|<1了,具体的t在哪个区间呢?令-1<φ’(x)<1;t>0,解不等式就行了,过程如下:

满足条件时刚好在sin18°和sin54°之间,因此可知,这里的根是sin27°,初始值可以设为t0=sin30°=0.5,我就不挨个迭代了,用Excel可以轻松计算,迭代5次得sin27°≈0.453998

    这里误差是多少呢?可以用到前面的定理,知|φ’(x)|≤0.5<1,令L=0.5,那么误差应小于|0.45-0.5|0.5^5/(1-0.5)=0.003125,可知到百分位是准确的,而实际上真实值sin27°≈0.453991,还是很精确的。

    这样五次方程就可以解了,主要在于找出满足条件的φ(x),重根情况可以用f(x)/f'(x)来算,由于原函数和导函数重根时都是零点,因此比一下就出现没有重根的方程了,不过实际上啥情况都可能出现,要靠各种技巧来完成了,还有很多求根的近似值的方法,有兴趣的朋友可以看看数值分析相关书籍,数学分支科目有很多,比如数值分析,泛函分析,矩阵分析,数学分析,名字都很像,不要弄错哦!



硬核科普,五次方程求根的评论 (共 条)

分享到微博请遵守国家法律