一元四次方程求根公式(精度高)
- 格式:doc
- 大小:1.85 MB
- 文档页数:32
本科毕业论⽂_多项式⽅程的判别式与求根公式东莞理⼯学院本科毕业论⽂(2015届)题⽬: 多项式⽅程的判别式与求根公式学⽣姓名: 姚培基学号: 201141410230院(系):计算机学院专业班级: 信息与计算科学(2)班指导教师:起⽌时间: 2015年1⽉—2015年5⽉多项式⽅程的判别式与求根公式摘要: 近代数学史甚⾄能说是⼀部求解多项式⽅程的历史。
对于⾼次⽅程的数值根求解法,⼈们从很早就开始并⼀直探求这样的问题。
⽽且在古代,很多⼈都想出了⼀个办法来解决各种各样的多项式⽅程。
如卡尔⽶诺的《⼤术》,贾宪的《黄帝九章算法细草》,秦九韶的《数书九章》等等。
在⽬前,有关问题求解多项式⽅程根的在⼯程实践中占有举⾜轻重的地位。
如在⼈类的⽣活过程中,经济建设和科学技术的发展过程中,计算⼀直起着⾮常重要的作⽤。
当⼈们在进⾏科学或者⼯程计算时,求解多项式⽅程组更是⾮常容易遇到的问题之⼀。
许多领域如⾃然⽣活和⼯程科学最终都可以归结为求解多项式⽅程组的问题。
这个时候⼈们就通常需要处理求解代数⽅程组的问题,如果当项较简单或变元较少时,计算过程就好相对来说简单⼀些;但是当项⾮常复杂或变元⾮常多的时候,那么其求解的过程中往往会遇到⽐较多的困难。
对多项式⽅程的判别式和求根公式的研究,在理论研究和实际⼯程计算中,具有⼗分重要的意义。
关键词: 多项式; 判别式; 求根公式; MATLABDiscriminant and seek the root of polynomial equationsAbstract: the modern mathematics that would become a history of polynomial equation solution. People long ago began to explore the problem of high order equation of numerical method. But in ancient times, many people have been developed to solve all kinds of method of polynomial equations. Such as "chapter nine of the yellow emperor algorithm fine grass" of jia xian, chiu-shao the number of book chapter nine, Carl mino "big operation" and so on.In nowadays, polynomial equation for the root problem has a pivotal position in the engineering practice. As in human life, economic construction and development of science and technology in the process of calculation is always plays a very important role. In science and engineering calculation, to solve the polynomial equations is one of the most common problems in the natural life and the computing problem in the field of engineering science and many other eventually all boils down to solving the polynomial equations. At this time often need to deal with algebraic equations to solve the problem, if the argument or a simpler, less calculation process is relatively simple; And when the argument is very more or when the item is very complex, itssolving process is often more difficult.The discriminant and seek the root of polynomial equations, in theoretical research and practical engineering calculation, have very important significance.Key words: polynomial; The discriminant. Root formula; MATLAB⽬录⼀、引⾔ (1)(⼀)⼀元⼆次⽅程的判别式和求根与韦达定理 (1)⼆、⼀元多次多项式 (8)(⼀)代数基本定理 (9)(⼆)域论基础 (10)(三)多项式⽅程的判别式 (11)(四)⽜顿恒等式 (12)(五)关于⼀元五次⽅程 (19)三、总结与展望 (20)参考⽂献 (23)致谢 (25)⼀、引⾔在⼈类研究数学的历史长河中,追溯到公元9世纪的波斯,数学家、天⽂学家及地理学家花拉⼦⽶作为第⼀⼈给出了⼀元⼆次⽅程的⼀般解法。
根的表达式一、根的表达式的概念嘿呀,小伙伴们!咱们来聊聊根的表达式这个有趣的东西。
根呢,在数学里可是很重要的概念哦。
比如说在方程里,根就是让方程成立的那些值。
就像一元二次方程ax²+bx+c = 0(a≠0),它的根可以用求根公式来表示,这个求根公式就是根的一种表达式啦。
二、不同类型方程根的表达式1. 一元一次方程一元一次方程的形式是ax + b = 0(a≠0),它的根的表达式就很简单啦,那就是x = -b/a。
这就像是一个小秘密,只要知道方程里的a和b的值,就能轻松算出根来。
比如说2x+3 = 0,这里a = 2,b = 3,那根x就等于-3/2呢。
2. 一元二次方程一元二次方程ax²+bx+c = 0(a≠0)的根的表达式就是著名的求根公式x = [-b±√(b² - 4ac)]/(2a)。
这个公式可厉害啦,不管是什么样的一元二次方程,只要把系数a、b、c代入这个公式,就能找到它的根。
不过要注意哦,当b² - 4ac < 0的时候,方程在实数范围内是没有根的,在复数范围内才有根呢。
3. 高次方程对于高次方程,比如三次方程ax³+bx²+cx + d = 0(a≠0),它的根的表达式就复杂得多啦。
有卡丹公式可以用来求解三次方程的根,但是这个公式比较复杂,理解起来有一定的难度。
四次方程也有相应的求根公式,但是更加复杂。
而五次及五次以上的方程,一般就没有通用的根式表达式来求解了,这也是数学里很神奇的一个地方呢。
三、根的表达式的意义根的表达式有很大的意义哦。
在实际生活中,很多问题都可以转化成方程,然后通过求根的表达式来找到答案。
比如说在工程计算里,计算结构的稳定性可能会用到方程,通过求出根来确定一些关键参数。
在物理学中,像运动学的一些问题,也会用到方程和根的表达式来求解物体的运动状态。
而且在数学的发展历程中,根的表达式的研究也推动了很多理论的发展,像是代数理论等。
一般实系数四次方程的一种求根公式与根的判别法则及其推导全文共四篇示例,供读者参考第一篇示例:一般实系数四次方程可以写成如下形式:ax^4 + bx^3 + cx^2 + dx + e = 0,其中a, b, c, d, e均为实数且a \neq 0。
解这种四次方程是一个相对复杂且困难的问题,因为不像二次方程有求根公式那样简单。
我们可以通过一些方法来解决这个问题。
我们来看一种求根公式的推导过程。
假设我们已经知道了四次方程ax^4 + bx^3 + cx^2 + dx + e = 0的根为x_1, x_2, x_3, x_4,我们可以将它写成如下形式:ax^4 + bx^3 + cx^2 + dx + e = a(x - x_1)(x - x_2)(x - x_3)(x - x_4)我们可以将右边展开得到:a(x^4 - (x_1 + x_2 + x_3 + x_4)x^3 + \cdots + x_1x_2x_3x_4) = 0比较两边系数可得:\begin{cases}b = -(x_1 + x_2 + x_3 + x_4)\\c = x_1x_2 + x_1x_3 + x_1x_4 + x_2x_3 + x_2x_4 + x_3x_4\\d = -(x_1x_2x_3 + x_1x_2x_4 + x_1x_3x_4 + x_2x_3x_4)\\e = x_1x_2x_3x_4\end{cases}这些方程可以用来求解四次方程的根。
虽然这种方法比直接解四次方程要复杂一些,但是它可以帮助我们推导出四次方程的求根公式。
接下来,我们来看一下如何判别四次方程的根的情况。
根据代数基本定理,一个次数为n的多项式方程有n个复数根(包括重根)。
但是对于四次方程,通常我们更感兴趣的是它的实根情况。
我们可以通过计算四次方程的判别式来判断它的实根个数。
对于一般的四次方程ax^4 + bx^3 + cx^2 + dx + e = 0,它的判别式可以表示为:\Delta = 256a^3e^3 - 192a^2bde^2 - 128a^2c^2e^2 + 144a^2cd^2e - 27a^2d^4 + 16ab^4e - 4ab^3cd - 8abc^3e +4abcd^2 + b^2c^2e^2 - b^2d^2e - 4bc^3d如果判别式\Delta > 0,则四次方程有两对不相等的实根。
一元四次方程的根式解上海 黄之关于代数方程的求根公式的历史,本文就不多说了,四次方程的求根公式应该属于费拉里的。
一,首先,想重复一次三次方程的求根公式,即d cx bx x x g +++=23)(的零点,首先将g(x)写成:)3272()3)(3()3()(323d bc b b x c b b x x g +-+++-++= 在形式上,使二次项消失。
然后令c b p +-=32,d bc b q +-=32723,23)2()3(q p +=∆, 计算后可得:d b c b bcd d c 3222327110816141271+--+=∆ 则有:2,1,0,223332332=∆--+∆+-+-=-k q e q e b x k i k i ππ 若方程系数都为实数,则0>∆时g(x)有一个实零点和一对共轭虚零点,当0=∆时,g(x)有一个重根,当0<∆时,g(x)有三个不相等的实零点:2,1,0,32cos 323=+-+-=k k p b x πθ 其中))3(2(cos 31p q--=-θ 也许值得一提的是,实系数方程023=+++d cx bx x 的根全部都是实数的充分必要条件是: 02711081614127132223≤+--+d b c b bcd d c 这表明,三个实数r,s,t ,则关于复数321,,x x x 的方程组:321133221321,,x x x t x x x x x x s x x x r =++=++=的解321,,x x x 都是实数的等价条件为:0418********≤+--+t r s r rst t s上式等号成立,等价于321,,x x x 中有某两个数相等.二,现在开始考虑四次方程的求根公式.首先考虑缺三次项的四次方程. 即024=+++e dx cx x 的根,将方程变形,引入一个参数y :)41()(4122224e y dx x c y y yx x -+--=++ ○1 上式左边是一个平方式,期待右边也是平方式,故而需要:0)4)((22=---e y c y d上述关于y 的方程即:0)4(4223=-+--d ec ey cy y ,以本文开头的三次方程的求根公式解之,令23232)2()3(,38272,431q p d ec c q e c p +=∆-+-=--=,此时还不需要去简化.则得到(只需要取该关于y 的方程的一个实根即可,事实上任何一个根都可以.): 2,1,0,223332332=∆--+∆+-+=-k q e q e c y k i k i ππ将上面的其中一个y 代入○1,即得到: 222))(2)(()21(c y d x c y y x ---=+ 则原方程可以化为两个二次方程:0)221(2=-+-±cy d y x c y x 由此,可以得到024=+++e dx cx x 的根: 222,1cy d c y c y x -+--±--= 224,3c y dc y c y x ----±-=三,那么最后,来考虑e dx cx bx x x f ++++=234)(的零点,先将f(x)写成:)411612563()4)(2181()4)(83()4()(243224e bd c b b b x d bc b b x c b b x x f +-+-+++-+++-++= 形式上使三次项消失,这可以通过考虑f(x)在某个待定点附近的泰勒展开式做到. 用刚才缺三次项的四次方程的求根公式解之,令:)411612563(4)83(312422e bd c b b c b p +-+--+--=2322432)2181()83)(411612563(38)83(272d bc b c b e bd c b b c b q +--+-+-+-++--=简化上述p,q 的表达式:e bd c p 4312-+-= 2322723831d c ec bcd e b q --++-= 而23)2()3(q p +=∆,其对应的y 为:2,1,0,2231813323322=∆--+∆+-++-=-k q e q e c b y k i k i ππ 事实上只需要取一个实值的y 即可.然后由第二段的缺三次项的四次方程的求根公式就得到最后的解,为了表达简洁,再令: 2,1,0,22332332=∆--+∆+-=-k q e q e t k i k i ππ(只需要取实值,事实上都可以,只需要取其中一个.)t c b s +-=32412 t c b r --=34212 故而e dx cx bx x x f ++++=234)(的四个零点是: 4224132,1b s d bc b r s x -+-+±-= 4224134,3b s d bc b r s x -+--±=可得:224321b s x x bs x x -=+--=+,而从整个过程不难讨论f(x)的零点情况,不再继续.四,事实上在第一段中,把三次方程归结为了形式:03=++q px x ,在这种情况下,只需作变换:zp z x 3-=即可将其归结到二次方程,所以得到第一段的解法. 提出一些问题供练习:1, 求出一个等腰三角形,使得它三个内角的正弦值之和等于它们的余弦值之和.2, 实数x 满足31≤≤-x ,当x 取什么值的时候,函数x x x x f -++++=321)(达到最大值?3,证明:2,1,0),32)1413(cos cos(37671=+-+-k k π,包含了以下三个数: 78sin ,74sin ,72sin πππ 4,证明:1910cos 196cos 194cos )3)1927(cos cos(319611πππ++=+--。
一元四次方程因式分解一元四次方程是指次数最高为四次方的单变量方程,其一般形式为ax^4 + bx^3 + cx^2 + dx + e = 0。
对于一元四次方程,我们可以通过因式分解的方法将其转化为一元二次方程的形式,从而求得方程的解。
我们可以先对一元四次方程进行因式分解,将其写成两个二次因式相乘的形式。
假设一元四次方程为(ax^2 + bx + c)(dx^2 + ex + f) = 0。
通过展开等式,我们可以得到一个关于系数的方程组。
根据方程组的解,我们可以确定二次因式的具体形式。
在求解方程组时,我们可以利用二次方程的求根公式来求解。
对于一元二次方程ax^2 + bx + c = 0,其根可以通过公式x = (-b±√(b^2 - 4ac))/(2a)来求得。
将二次因式的形式代入方程组,我们可以得到与二次方程相似的形式,从而求得二次因式的根。
在求解方程组时,我们需要注意以下几点:1. 方程组的解可以是实数或复数。
当方程组没有实数解时,我们可以得到复数解。
2. 方程组的解可以重复。
即方程组存在重复的根,这在因式分解时是很常见的情况。
通过求解方程组,我们可以得到两个二次因式,从而将一元四次方程因式分解为两个二次因式相乘的形式。
这样,我们就可以通过求解二次因式来求解一元四次方程。
除了因式分解的方法,我们还可以利用其他方法来求解一元四次方程,如配方法、完全平方式等。
每种方法都有其特点和适用范围,我们可以根据具体情况选择合适的方法来求解方程。
总结起来,一元四次方程的因式分解是将其转化为两个二次因式相乘的形式,通过求解二次因式来求解方程。
除了因式分解的方法,还有其他方法可以求解一元四次方程。
不同的方法适用于不同的情况,我们可以根据具体问题选择合适的方法来求解方程。
目录前言一·一元三次方程求根公式二·笛卡尔待定系数法结合一元三次方程韦达定理 三·费拉里配方法 四·误差计算方法 五·两个求根公式精度对比 六·计算器使用注意事项附录一·一元四次方程有一三重根时的另一种求根公式 附录二·一元四次方程有一对重根时的另一种求根公式 附录三·43x x 取第一种算法的证明过程 附录四·费拉里配方法的详细计算过程前言该文档是在word2003编辑的,如果用更高版本的word 浏览或编辑,某些数学公式可能无法正常显示。
一元四次方程有两种解法,一种是笛卡尔待定系数法,一种是费拉里配方法。
两种解法都需要求解一元三次方程。
因此先介绍一元三次方程的解法。
在求根公式计算过程中,经常会发生相近数相减,因此精度会随之下降,这里给出两个数发生相近数相减的判定条件:将两个数写成a+b 的形式,在判断是否发生相近数相减前,先计算两个中间变量b a i +,b a d +:1·0≥ab0=+b a i ,b a d +=1 2·0<ab⎩⎨⎧≠+-+=+-=+0))),(int(lg(max int(lg 015b a b a b a b a i b a b a b a d b a ++=+计算出b a i +,b a d +后,再判断a+b 是否发生相近数相减。
判定标准如下:1·0=+b a i 或者1-=+b a i 并且31≥+b a d ,a+b 不发生相近数相减。
2·1-<+b a i 或者1-=+b a i 并且31<+b a d ,a+b 发生相近数相减。
下面推导一元三次方程和一元四次方程的求根公式。
一·一元三次方程求根公式一·一 求根公式一元三次方程)0,0,,,(023≠≠∈=+++d a R d c b a d cx bx ax ,求根公式由塔塔利亚首次提出,由卡尔丹诺于1545年在《重要的艺术》上第一次发表。
求解含分式的一元四次方程一元四次方程是指次数为4的一元多项式方程,通常可以表示为:ax^4 + bx^3 + cx^2 + dx + e = 0其中,a、b、c、d、e为实数系数,且a≠0。
在解一元四次方程的过程中,当含有分式时,我们需要将方程转化成一般的四次方程形式。
接下来,我将详细介绍如何求解含有分式的一元四次方程。
1. 将方程转化成标准形式我们先将方程中的分式转化为整式。
假设方程中存在分式部分为m/n,则可令新的未知数为 t = n·x,将方程中的 x 替换为 t/n,从而消除分式。
此时我们得到一个关于未知数 t 的新方程:a(t/n)^4 + b(t/n)^3 + c(t/n)^2 + d(t/n) + e = 0即:a(t^4/n^4) + b(t^3/n^3) + c(t^2/n^2) + d(t/n) + e = 0再将n^4带到n的4次幂项,可以化简为:at^4 + b(t^3n) + c(t^2n^2) + d(tn^3) + en^4 = 0这样,我们就得到了新的一元四次方程。
2. 引入新的未知数为了简化计算,我们可以引入一个新的未知数 y = t^3,将方程转化为关于 y 的新方程。
这里注意到,当我们将 t 替换为 y 的立方根时,方程中的 t 项都会消失,从而简化问题的解法。
3. 求解新方程现在我们得到了一个关于 y 的新方程,即:ay^4 + b(y * n)^2 + c(y * n^2)^2 + d(y * n^3) + e(n^4) = 0化简后可得:ay^4 + bny^2 + cn^2y^2 + dn^3y + en^4 = 0这是一个关于 y 的一元多项式方程,我们可以使用各种求解四次方程的方法来求解。
比如,可以利用求根公式、牛顿法或者分解因式等方法进行求解。
4. 求解得到 t得到 y 的值之后,我们可以通过将 y 的立方根代入原方程中求解得到 t 的值:t = y^(1/3)5. 求解得到 x最后,我们可以通过代入 t 的值来求解 x 的值:x = t/n通过上述步骤,我们可以求解含有分式的一元四次方程,并得到解x 的值。
一元四次方程判别式推导一元四次方程是指只有一个未知数的四次方程,其一般形式为:ax^4 + bx^3 + cx^2 + dx + e = 0其中,a、b、c、d、e为已知的实数系数,并且a≠0。
为方便推导,我们将一元四次方程简化为一元二次方程的形式。
我们先通过代换方法将一元四次方程转化为一元三次方程,然后再利用代换方法将一元三次方程转化为一元二次方程。
1.代换方法将一元四次方程转化为一元三次方程以代换x = y - (b / (4a))为例,将该代换带入方程中,并进行展开和化简,可以得到:a(y - (b / (4a)))^4 + b(y - (b / (4a)))^3 + c(y - (b / (4a)))^2 + d(y - (b / (4a))) + e = 0化简后得:a(y^4 - (4b / a)y^3 + (6b^2 / a^2)y^2 - (4b^3 / a^3)y + (b^4 / a^4)) + b(y^3 - (3b / a)y^2 + (3b^2 / a^2)y - (b^3 / a^3)) + c(y^2 - (2b / a)y + (b^2 / a^2)) + d(y - (b / (4a))) + e = 0进一步化简得:a(y^4 - (4b / a)y^3 + (6b^2 / a^2)y^2 - (4b^3 / a^3)y + (b^4 / a^4)) + b(y^3 - (3b / a)y^2 + (3b^2 / a^2)y - (b^3 / a^3)) + c(y^2 - (2b / a)y + (b^2 / a^2)) + dy - (b / (4a)) + e = 0再次化简得一元三次方程:ay^4 + (-3ab / a)y^3 + (3b^2 / a^2)y^2 + (-3b^3 / a^3)y + ((b^4 + 4ac) / a^4)y^0 + ((-b^2d + 4ae) / a^3)y - (b / 4a) = 0其中,等式左边的第一个加号前的系数表示y^4的系数,即a;第二个加号前的系数表示y^3的系数,即(-3ab / a) = -3b;第三个加号前的系数表示y^2的系数,即(3b^2 / a^2) = 3(b^2 / a);第四个加号前的系数表示y的系数,即(-3b^3 / a^3) = -3(b^3 / a^2);等式右边的各项为常数。
目录前言一·一元三次方程求根公式二·笛卡尔待定系数法结合一元三次方程韦达定理 三·费拉里配方法 四·误差计算方法 五·两个求根公式精度对比 六·计算器使用注意事项附录一·一元四次方程有一三重根时的另一种求根公式 附录二·一元四次方程有一对重根时的另一种求根公式 附录三·43x x 取第一种算法的证明过程 附录四·费拉里配方法的详细计算过程前言该文档是在word2003编辑的,如果用更高版本的word 浏览或编辑,某些数学公式可能无法正常显示。
一元四次方程有两种解法,一种是笛卡尔待定系数法,一种是费拉里配方法。
两种解法都需要求解一元三次方程。
因此先介绍一元三次方程的解法。
在求根公式计算过程中,经常会发生相近数相减,因此精度会随之下降,这里给出两个数发生相近数相减的判定条件:将两个数写成a+b 的形式,在判断是否发生相近数相减前,先计算两个中间变量b a i +,b a d +:1·0≥ab0=+b a i ,b a d +=1 2·0<ab⎩⎨⎧≠+-+=+-=+0))),(int(lg(max int(lg 015b a b a b a b a i b a b a b a d b a ++=+计算出b a i +,b a d +后,再判断a+b 是否发生相近数相减。
判定标准如下:1·0=+b a i 或者1-=+b a i 并且31≥+b a d ,a+b 不发生相近数相减。
2·1-<+b a i 或者1-=+b a i 并且31<+b a d ,a+b 发生相近数相减。
下面推导一元三次方程和一元四次方程的求根公式。
一·一元三次方程求根公式一·一 求根公式一元三次方程)0,0,,,(023≠≠∈=+++d a R d c b a d cx bx ax ,求根公式由塔塔利亚首次提出,由卡尔丹诺于1545年在《重要的艺术》上第一次发表。
一元三次方程)0,,,(023≠∈=+++a R d c b a d cx bx ax ,,设23b ac p -=,d a abc b q 232792+-=,324p q +=∆,则求根公式为1·Δ=0⑴·p=q=0abx 33,2,1-=⑵·p ≠0,q ≠0ap q b x a p q b x 3)(sgn 3)(sgn 23,21-+-=---=,,2·Δ<0设⎪⎪⎭⎫ ⎝⎛--=32arccosp q θa b p x 33cos 21-⎪⎭⎫ ⎝⎛-=θ,ab p x 3323cos 22-⎪⎪⎭⎫⎝⎛⎪⎭⎫ ⎝⎛+-=πθ,ab p x 3343cos 23-⎪⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛+-=πθ3·Δ>0aq q b x 322331∆--+∆+-+-=,a i imy a b rey x 333.2*±-= 其中22233∆---∆+--=q q rey ,222333⎪⎪⎭⎫ ⎝⎛∆---∆+-=q q im y 求根公式中含有相近数相减,需要改进。
下面给出详细的推导和改进过程。
一·二 推导及改进一元三次方程)0,0,,,(023≠≠∈=+++d a R d c b a d cx bx ax ,,把aby x 3-=代入,整理得0)2792()3(32323=+-+-+d a abc b y b ac y 。
令23b ac p -=,d a abc b q 232792+-=,方程可化为033=++q py y ,再令n m y +=,则3333333)(3)(n mny m n n m mn m n m y ++=+++=+=,移项整理得0)(3333=+--n m mny y 。
对比033=++q py y ,得⎩⎨⎧=+=②q n m p m n -①-33 ① 式两边立方,可得③333p n m -=由①、③可得33n m 、为方程032=-+p qu u 的两根。
设它的判别式为Δ,则324p q +=∆。
实际计算中,p 、q 、Δ采用超长小数算法。
现在根据判别式符号来判断三次方程033=++q py y 根的情况。
一·Δ>0方程032=-+p qu u 有两个不等实根231∆+-==q m u ,232∆--==q n u在复数范围内分别得到21u u 、的三个立方根m q m =∆+-=312,m q m ωω=∆+-⨯=322,m q m ϖϖ=∆+-⨯=332n q n =∆--=312,n q n ωω=∆--⨯=322,n q n ϖϖ=∆--⨯=332 其中231i *+-=ω,231i*--=ϖ。
这样方程组共有九组解,但显然有六组增根。
原因: ∵p mn -=,并且p 是实数, ∴要求mn 也是实数。
而333p n m -=,则只要求33n m 是实数就行了,mn 可以是虚数,即333313322312331321)()()()()()(n m n m n m n m n m n m ======33333333)()()()()()(n m n m mn n m mn n m n m ======ϖϖϖωωωϖω,于是产生增根。
经过排查,只有)()()(233211n m n m n m 、、、、、这三组解适合方程组,把它们代入n m y +=,得到方程033=++q py y 的三个根为33122∆--+∆+-=q q y ,i imy rey y *±=3,2 22233∆---∆+--=q q rey ,222333⎪⎪⎭⎫ ⎝⎛∆---∆+-=q q im y 求根公式中含有两种相近数相减,一是q 和∆之间,相近数相减的类型是()b a a b a a >>>+-,02;二是32∆+-q 和32∆--q 之间,相近数相减的类型是33b a b a -±+(同号取减号,异号取加号)。
这两种相近数相减可以改进。
改进方法分别是: b a a +-2=()()()()ba ab ba a ba ab a a ++=++++*+-2222()()()()()()3333333333b a b a b a b a b a b a b a b a -+-+++--+=--+()()23322232ba b a b a b-+-++=(同号)()()()()()()233323333333b a b a b a b a b a b a b a b a -+-+-+-++=-++()()23322232ba b a b a a-+--+=(异号)这样就得到033=++q py y 精确的一个实根和一对共轭虚根。
∴三次方程023=+++d cx bx ax 的三个根为ab y x 311-=,a iimy a b rey x 333.2*±-=。
实际计算中,方程023=+++d cx bx ax 的虚根的虚部是精确的,而实根和实部有且只有一个可能发生相近数相减,精度可能较低,我们需要精细化。
实根和实部可能有以下三种情况: 1·都不发生相近数相减a yb x 311+-=,arey b rex 3+-=2·实根发生相近数相减a reyb rex 3+-=,()221imx rex a d x +-= 3·实部发生相近数相减ay b x 311+-=。
Rex 需要精细化,如果采用Δ<0时生成一元二次方程0112=+-c x b x 的方法,则当⎪⎪⎭⎫⎝⎛+-=2111ax d axc b 发生相近数相减时,实部精度下降。
采用分子有理化的方法可有效避免这个问题。
方法如下:将Rex 拆分,⎪⎭⎫⎝⎛+-=+-+-=++-=a x a x a n b a m b a n m b rex 6Re 6Re 666221,m 、n 同上。
并立即得出21Re Re x x >,原因是m>n 。
21Re ,Re x x 内部可能发生相近数相减,利用平方差、立方和公式实施分子有理化进行改进,由于他们都有两层开方,因此若第一次分子有理化产生的多项式和第二个开方数发生相近数相减,则需要第二次分子有理化。
两次分子有理化产生的多项式都要用超长小数的算法。
然后根据21Re ,Re x x 是否发生相近数相减来判断x Re 的表达式如果21Re ,Re x x 不发生相近数相减,则x Re =⎪⎭⎫⎝⎛+-a x a x 6Re 6Re 21如果21Re ,Re x x 发生相近数相减,可适当对他们进行增减,一个数的增量等于另一个数的减量,使他们的符号相同,而且保证计算结果不变。
改进方法如下设()211Re Re min x x ,=λ,2Re Re 212x x +=λ⑴·0Re Re 21≥+x x由21Re Re x x >推出21Re Re x x >、0Re ,0Re 21<>x x 和21Re x =λ,则0Re ,0Re 212211>++>--λλλλx x⑵·0Re Re 21<+x x由21Re Re x x >推出21Re Re x x <、0Re ,0Re 21<>x x 和11Re x =λ,则0Re ,0Re 212211<++<--λλλλx x上述两种情况得到的两个表达式可写成1b m +和2b n +的形式,其中)(211λλ+-=b b ,)(212λλ++=b b ,再判断1b m +和2b n +的内部是否发生相近数相减。
如果发生相近数相减,则采用平方差、立方和公式实施分子有理化进行改进。
含有的多项式要采用超长小数的算法进行改进,否则上述运算是无意义的。
设1'Re x =1b m +,2'Re x =2b n +,则x Re =⎪⎭⎫ ⎝⎛+-a x a x 6'Re 6'Re 21。
1'Re x ,2'Re x 内部的相近数相减的情况与21Re ,Re x x 的情况一样。
改进方法也一样。
二·Δ=0二次方程有两个相等实根。
23321qn m u u -====。
再细分两种情况。
2—1·q=0此时p=0,021==u u ∴0321===y y y ,∴abx 33,2,1-=,是一三重实根。
讨论a,b,c,d 之间的关系。
由p=q=0可得027********=+-=-d a abc b b ac ,。