启  智  文  坊  学  堂
       招收小学1-6年级    初中7-9年级学生
报名热线:4001-570-585;136-0957-0585

算法与代数方程解

 二维码 1

如今,代数方程因被广泛应用于编程而大放光彩。所谓算法,一般指按一定的程序获得答案,或按一定的规范输入获得所要求的输出;但不管什么算法,最终都可以归结为解代数方程。



据说,做编程工作月入过万不是梦,有些高级编程师或能达到月入6位数甚至更多。怎么就如此“吃香”呢?



那是因为编程不是普通的“搬砖”活,不是生搬硬套公式定理可以做得到的;有时既要有很强的解题能力,还要有很强的化解问题的能力。而合理的算法不但可以大量节省成本而且高效,也是体现价值之所在。



1824年,阿贝尔已经证明五次或更高次代数方程一般不能以根式求解。但并不意味着不可解,例如x-32=0有解是显而易见的......代数基本定理还告诉我们,诸如方程x+ax+...+a=0,无论a是实数还是复数,都必有复数解。



所以,阿贝尔的证明只是证明了高于四次以上方程不存在方程解的代数公式,或者说难以找到一种普遍有效的方法来确定根式解。因而,一旦方程超出四次范围,代数算法就失去了可以公式求解的便利性。这对于编程工作来说无疑是一大挑战。



所以,算法要避免高于四次以上的代数方程出现。正确的做法是根据计算机只怕无限循环计算不怕有限计算且功能强大的特点,设计一套方法进行低次处理。即将复杂问题化为若干简单问题,通过有限步骤获得所要的答案,这几乎就是现代算法无往不利的法定。



在这方面,怀尔斯证明费马大定理x+ y= z时已经为我们作了垂范。显然,对于任意正整数n,一个降值排列且小于n的正整数序列必然是有限的,那么这种降值排列的数列就必定会在经历有限的步骤之后结束。数学家们说,因为u=(u),若令u=t,则u可化为t。类推。总之,将n降到4、3、2时,很自然也就达到我们的目的了。



关于二次方程ax+bx+c=0,众所周知,胡瓦里兹米给出的解为x=(-b(b-4ac))/2a。



关于三次方程ax+bx+cx+d=0,卡尔达诺的“缺项三次方程”公式则非常有效。即将三次方程置换成一种缺二次项的三次方程解法。



如果将形如ax+cx+d=0这样的“缺项三次方程”,作消除a及移项处理后,写成更一般式x+mx=n,卡尔达诺给出的根式解为x=((n/2)+(n/4+m/27))-((-n/2)+(n/4+m/27))。其推理及证明过程卡尔达诺都表现得很有“手腕”,但表达起来比较麻烦,这里略过不表。



那么,该怎样置换成“缺项三次方程”呢?



为使方便理解,我们不妨以由浅入深的方式略作说明。为使二次方程ax+bx+c=0消除一次项,卡尔达诺的做法是引入一个新变量,用y-b/2a替换x,于是原式也就演变成了



a(y-b/2a)+b(y-b/2a)+c=0



展开得到



ay-by+b/4a+by-b/2a+c=0



当中的by项相抵消,就得到缺项的二次方程



ay+b/4a-b/2a+c=0



因此可以轻易求出



y=((b-4ac))/2a



再代入x=y-b/2a得到



x=(-b(b-4ac))/2a



这与胡瓦里兹米给出的解完全一致,同时也说明这种方法行之有效。



同理,若用y-b/3a替换三次方程ax+bx+cx+d=0中的x,也能得到消除二次项的“缺项三次方程”,如果用a去除等式各项,就可以得到y+py=q形式的方程,那么直接套用卡尔达诺公式就可以求出y的值,再代入x=y-b/3a也就可以求出x的值。



同理,若用y-b/4a替换四次方程ax+bx+cx+dx+e=0中的x,也能得到消除三次项的“缺项四次方程”,再通过引入辅助变量还可以转化更低处的方程以求解。小编在这里就不多费笔墨了。



所以,解代数方程就像玩游戏通关似的,只要掌握了方法,再按照一定的步骤就可以完成方程求解。当熟练到一定程度,就能达到随意挥洒的境界,乃真人才。但这显然需要我们具有一定的知识储备,还需要有很强的灵活运用知识的能力。



不过,小编认为,对于一般性代数方程求解,本文所论及的方法应该能够解决大多数问题。之所以说得这么保守,是因为有些方程可能没有实数解,而进入虚数(复数)领域又是另一片广阔新天地,咱有缘再叙。



编撰:然好



END


My title page contents