一元高次方程的求解之路
- 格式:doc
- 大小:327.50 KB
- 文档页数:6
求解⼀元多次⽅程(迭代法)1 --*2解⼀元多次⽅程形如 x^5 + x^4 + x = 1034主要做法:51.⾼次⽅程典型的解法就是迭代。
给定初始值x0,6给定精度e,通过公式x[n]=x[n-1]+f(x[n-1])/f'(x[n-1])不停迭代,直到近似解符合精度要求,输出结果。
782.另外还有⼀种⼆分法,对这种⽅法不是太熟悉,就是⾸先给定⼀个区间[a,b],在区间上如果有极值,则有解,把这个区间⼀分为2, [a,c]、[c,b],如果f(a)和f(c)艺号,则解在[a,c]区间,反之在[c,b]区间。
在把[a,c]⼀分为2,这样⼀直分下去,直到 910 */11 #include <iostream>12 #include <math.h>1314using namespace std;1516const double e = 1e-6;17int n;18 pair<double, int> p[12];//⽅程的系数, ⽅程次数1920double f(double x)//⽅程21 {22double sum = 0.0;2324for (int i = 0; i < n; ++i){25if (p[i].second < 0)26continue;27 sum += p[i].first * pow(x, p[i].second);28 }2930return sum - p[n].first;//减去值31 }3233double ff(double x)//导数34 {35double sum = 0.0;3637for (int i = 0; i < n; ++i){38if (p[i].second <= 0)39continue;40 sum += p[i].first * p[i].second * pow(x, p[i].second-1);41 }4243return sum;44 }4546double solve()47 {48double x0 = 1.0;49double xn = 1.0;5051while (true){52 xn = x0 - f(x0)/ff(x0);53if (xn-x0 < e && x0-xn < e)54return x0;55 x0 = xn;56 }57 }5859int main()60 {61int num = 1;62bool flag = false;6364while (cin >> n, n != -1){65int i;66for (i = 0; i < n; ++i){67 cin >> p[i].second >> p[i].first;68 }69 cin >> p[n].second >> p[n].first;7071for (i = 0; i < n; ++i){72 p[i].second = p[n].second - p[i].second + 1;73 }7475if (flag){76 cout << endl;77 }else{78 flag = true;79 }8081 printf("Case %d: %.5lf\n", num++, solve()-1);82 }83return0;84 }85 #include <iostream>86 #include <math.h>8788using namespace std;8990const double e = 1e-6;91int n;92 pair<double, int> p[12];//⽅程的系数, ⽅程次数9394double f(double x)//⽅程95 {96double sum = 0.0;9798for (int i = 0; i < n; ++i){99if (p[i].second < 0)100continue;101 sum += p[i].first * pow(x, p[i].second);102 }103104return sum - p[n].first;//减去值105 }106107double ff(double x)//导数108 {109double sum = 0.0;110111for (int i = 0; i < n; ++i){112if (p[i].second <= 0)113continue;114 sum += p[i].first * p[i].second * pow(x, p[i].second-1);115 }116117return sum;118 }119120double solve()121 {122double x0 = 1.0;123double xn = 1.0;124125while (true){126 xn = x0 - f(x0)/ff(x0);127if (xn-x0 < e && x0-xn < e)128return x0;129 x0 = xn;130 }131 }132133int main()134 {135int num = 1;136bool flag = false;137138while (cin >> n, n != -1){139int i;140for (i = 0; i < n; ++i){141 cin >> p[i].second >> p[i].first;142 }143 cin >> p[n].second >> p[n].first;144145for (i = 0; i < n; ++i){146 p[i].second = p[n].second - p[i].second + 1; 147 }148149if (flag){150 cout << endl;151 }else{152 flag = true;153 }154155 printf("Case %d: %.5lf\n", num++, solve()-1); 156 }157return0;158 }。
高次方程及解法一、 ±1判根法在一个一元高次方程中,如果各项系数之和等于零,则1是方程的根;如果偶次项系数之和等于奇次项系数之和,则 -1是方程的根。
求出方程的±1的根后,将原高次方程用长除法或因式分解法分别除以(x-1)或者( x+1),降低方程次数后依次求根。
“±1判根法”是解一元高次方程最简捷、最快速的重要方法,一定要熟练掌握运用。
例1 解方程x 4+2x 3-9x 2-2x+8=0解:观察方程,因为各项系数之和为:1+2-9-2+8=0(注意:一定把常数项算在偶数项系数当中),根据歌诀“系和零,+1根”,即原方程中可分解出因式(x-1),(x 4+2x 3-9x 2-2x+8)÷(x-1)= x 3+3x 2-6x-8观察方程x 3+3x 2-6x-8=0,偶次项系数之和为:3-8=-5;奇次项系数之和为:1-6=-5,根据歌诀“偶等奇,根 -1”,即方程中含有因式(x+1),∴ (x 3+3x 2-6x-8)÷ (x+1)=x 2+2x-8,对一元二次方程x 2+2x-8=0有(x+4)(x-2)=0, ∴ 原高次方程x 4+2x 3-9x 2-2x+8=0可分解因式为:(x-1) (x+1)(x-2)(x+4)=0,即:当(x-1)=0时,有x 1=1;当(x+1)=0时,有x 2= -1;当(x-2) =0时,有x 3=2; 当(x+4)=0时,有x 4=-4点拨提醒:在运用“±1判根法”解高次方程时,一定注意把“常数项”作为“偶次项”系数计算。
二、常数项约数求根法根据定理:“如果整系数多项式a n x n +a n-1x n-1+ +a 1x+a 0可分解出因式P x-Q ,即方程a n x n +a n-1x n-1+ +a 1x+a 0=0有有理数根PQ(P、Q 是互质整数),那么,P一定是首项系数a n 的约数,Q 一定是常数项 a 0的约数”,我们用“常数项约数”很快找到求解方程的简捷方法。
习题范例解一元高次方程的方法总结一元高次方程是数学中常见的问题,解决这类方程可以采用多种方法。
本文将总结并介绍解一元高次方程的几种常见方法。
1. 因式分解法因式分解法适用于一元高次方程可以被因式分解的情况。
具体步骤如下:(1)将方程转化为标准形式,确保方程左边等于零;(2)对方程进行因式分解;(3)令每个因式等于零,求解得到方程的根;(4)将得到的根代入方程进行验证。
例如,解方程 x^2 + 6x + 8 = 0:(1)转化为标准形式:x^2 + 6x + 8 = 0;(2)因式分解:(x + 2)(x + 4) = 0;(3)令(x + 2) = 0 和 (x + 4) = 0,解得 x = -2 和 x = -4;(4)代入原方程验证,左边等于右边(0 = 0),所以解正确。
2. 全平方公式全平方公式适用于一元二次方程。
具体步骤如下:(1)将方程转化为标准形式,确保方程左边等于零;(2)根据公式 x^2 + 2xy + y^2 = (x + y)^2,将方程进行变形;(3)令变形后的方程等于零,解出未知数;(4)代入原方程验证。
例如,解方程 x^2 + 4x + 4 = 0:(1)转化为标准形式:x^2 + 4x + 4 = 0;(2)根据公式 (x + 2)^2 = 0,得到变形方程 (x + 2)^2 = 0;(3)令 (x + 2) = 0,解得 x = -2;(4)代入原方程验证,左边等于右边(0 = 0),所以解正确。
3. 二次根式法二次根式法适用于一元二次方程的平方项系数为奇数的情况。
具体步骤如下:(1)将方程转化为标准形式,确保方程左边等于零;(2)对方程的平方项系数进行修正,使其变为偶数;(3)引入一个新的未知数,利用完全平方公式将方程转化为新未知数的平方;(4)令新未知数的平方等于一个已知数,解出新未知数;(5)代入原方程验证,并求解得到方程的根。
例如,解方程 3x^2 + 10x + 7 = 0:(1)转化为标准形式:3x^2 + 10x + 7 = 0;(2)对平方项系数进行修正,将方程变为 3(x^2 + (10/3)x + 7/3) = 0;(3)引入新的未知数,令 x + t = 0,其中 t = 10/6;(4)利用完全平方公式 (x + t)^2 = x^2 + 2xt + t^2,将方程转化为:3(x + t)^2 - 10(x + t) - 7 = 0;(5)令方程右侧的数值等于一个已知数,解得 x + t = 7/3 或 x + t= -1;(6)代入原方程验证,并解得 x = 1/3 或 x = -11/3。
一元高次方程的漫漫求解路若有人问你:“你会解一元二次方程吗?”你会很轻松地告诉他:会的,而且非常熟练!任给一个一元二次方程20,0,ax bx c a ++=≠ ①由韦达定理,①的根可以表示为2b x a-±=。
若进一步问你,会解一元三次方程或更高次数的方程吗?你可能要犹豫一会儿说,只会一些简单的方程。
于是你就会想:一元三次方程或更高次数的方程,是否也像一元二次方程的情形一样,有一个公式,它可以用方程的系数,经过反复使用加减乘除和开方运算,把方程的根表示出来?数学家们当然应当给出完美的理论来解决高次方程的求解问题。
有关理论至少应当包括高次方程是否有解?如果有解,如何求得?n 次方程的一般表达式是101100,0,n n n n a x a x a x a a --++⋅⋅⋅++=≠而1011()n n n n f x a x a x a x a --=++⋅⋅⋅++称为n 次多项式,其中00a ≠。
当系数01,,a a1,,n n a a -⋅⋅⋅都是实数时,称()f x 是n 次实多项式,当系数中至少有一个为复数时,称()f x 为n 次复系数多项式。
如果存在复数α,使得()0f α=,就称α是n 次方程()0f x =的一 个根,或称为n 次多项式()f x 的一个根。
1799年,年仅22岁的德国数学家高斯在他的博士论文中首先证明了“代数基本定理”:复数域上任一个次数大于零的多项式,至少有一个复数根。
根据代数基本定理可以推出:复数域上n 次多项式恰有n 个复数根,其中k 重根以k 个根计算。
这一结论也可以用多项式的因式分解语言来叙述:“复数域上任何n 次多项式都可以分解成n 个一次式的乘积。
”代数基本定理是一个纯粹的多项式根的存在定理,它没有给出求根的具体方法。
要求得n 次方程的根,一般是希望得到n 次方程1011()0n n n n f x a x a x a x a --=++⋅⋅⋅++= ②的求解公式,如二次方程①的求根公式那样。
高次方程的求解方法在数学中,高次方程是指其最高次数大于等于2的多项式方程。
对于高次方程的求解是数学中的重要课题之一。
本文将介绍几种常见的高次方程求解方法。
一、一元高次方程的求解方法一元高次方程是指只含有一个未知数的高次方程。
下面将介绍二次方程和三次方程的求解方法。
1. 二次方程的求解方法二次方程是指最高次数为2的一元方程。
一般形式为:ax^2 + bx + c = 0,其中a、b、c为已知常数,而x为未知数。
求解二次方程的一种常见方法是使用求根公式。
根据二次方程的解法,可以得到求根公式为:x = (-b ± √(b^2-4ac))/(2a)。
当求根公式中的判别式(b^2-4ac)大于零时,方程有两个不相等的实数根;当判别式等于零时,方程有两个相等的实数根;当判别式小于零时,方程有两个共轭复数根。
2. 三次方程的求解方法三次方程是指最高次数为3的一元方程。
一般形式为:ax^3 + bx^2 + cx + d = 0。
求解三次方程的一种常见方法是使用牛顿迭代法。
该方法通过不断逼近,寻找多项式的根。
牛顿迭代法的迭代公式为:x(n+1) = x(n) - f(x(n))/f'(x(n)),其中x(n+1)为下一个近似解,x(n)为当前的近似解,f(x(n))为方程的多项式函数值,f'(x(n))为多项式函数的导数值。
二、多元高次方程的求解方法多元高次方程是指含有多个未知数的高次方程。
下面将介绍二元高次方程和三元高次方程的求解方法。
1. 二元高次方程的求解方法二元高次方程是指含有两个未知数的高次方程。
一般形式为:f(x, y) = 0。
求解二元高次方程可以采用消元法或者代入法。
消元法是通过将一个未知数用另一个未知数表示,从而减少方程的未知数个数。
代入法是将一个未知数的表达式代入到另一个方程中,从而求解方程的解。
2. 三元高次方程的求解方法三元高次方程是指含有三个未知数的高次方程。
利用换元法解一元高次方程在初中数学竞赛中,常常会出现一些高次方程求解问题,解这类问题的核心思想是降次,而换元法是其最主要的方法,所谓换元法,是指把方程中某些代数式用新的变量代替,使方程的次数降低,从而化难为易,使问题得以解决,这里举例说明如下.一、直接换元例1 解方程:x+1x+2x+3x+4=24.分析与解∵x+1x+4=x2+5x+4,x+2x+3=x2+5x+6,设t=x2+5x+4,则可将原方程转化为关于t的一元二次方程tt+2=24.即t2+2t-24=0,t-4t+6=0,∴t=4.t=-6.当t=4时,x2+5x=0,∴x=0,或x=-5;当t=-6时,x2+5x+10=0,此方程无解.故原方程的解为x=0,或x=-5.二、均值换元即求出几个代数式的平均值,利用平均值进行代换.例2 解方程:4x+13x+12x+1x+1=3x4.分析与解根据上面的经验,这样的方程左边是不能完全展开的,只能部分展开.∵4x+1x+1=4x2+5x+1,3x+12x+1=6x2+5x+1,两个代数式有相同的一次项和常数项,故设t=5x2+5x+1,则原方程可化为t-x2t+x2= 3x4.∴t2=4x4,t=2x2或t=-2x2,代回即可求得原方程的根为:x=.注当然本题也可以直接设t=4x2+5x+1或者t=6x2+5x+1.例3 解方程:x+24+x-44=272.分析与解若将方程左边展开,将得到难解的高次方程.注意到12x+2+x-4=x-1,故可设y=x-1,则原方程可化为y+34+y-34=272,即y4+54y2-55=y2-1y2+55=0,∴y=±1.∴x-1=±1,∴x=0或2.三、双变量换元例4 解方程:4x2-92+4x2-99x2-4+9x2-42=13x2-132.分析与解注意到4x2-9+9x2-4=13x2-13,设m=4x2-9,n=9x2-4.则原方程可化为m2+mn+n2=m+n2,即mn=0,则有4x2-99x2-4=0,解得x=±32,±23.注用换元法解方程,有时引入的新变量可以不止一个,如本题中引入了m,n.在例1中,如果注意到x+1x+4-x+2x+3=-2,还可以设m=x+1x+4,n=-x+2x+3,则有224 m nmn+=-⎧⎨=-⎩由韦达定理可知m,n是方程z2-2z-24=0的根,求解这个方程即可以得到原方程的根过程略.四、倒数换元形如ax4+bx3+cx2+bx+a=0a≠0的倒数方程可以两边同除以x2,降次换元.例5 解方程:12x4-56x3+89x2-56x+12=0.分析与解直接因式分解比较困难,容易发现该方程是倒数方程与首尾等距离的项的系数相等.又因为x=0不是方程的根,所以两边同时除以x2,得五、常值换元将某一常值看作未知数,原来的未知数当成常数,则可以把高次方程转化为低次方程.例6 解方程:32310+++=.x x分析与解这是关于x的三次方程,直接解这个方程有一定困难,看成未知数,则原方程可化为求解高次方程的方法还有很多,需要我们在平时的学习过程中,不断整理,不断总结,逐步深化,灵活运用.。
一元高次方程的计算机程序的求根研究一元高次方程是一类数学问题,在数学中应用广泛。
它的解并不总是能够通过手算求出,因此需要计算机程序来求解。
本文将主要从三个角度来研究一元高次方程的计算机程序的求根方法:传统方法,迭代法以及优化算法。
一、传统方法传统方法是指,将一元高次方程转化为标准的完全平方公式、一次方程等形式,再通过恒等式等等方法求根。
这种方法需要对方程进行一定的变形,能够把大多数的问题解决。
如对于一个一元高次方程:ax 2 + bx +c = 0,可以通过求出其中x的两个解 x1、x2 ,然后拆开成二次方程组合式,将系数代入求解。
这种方法比较简单,但是需要做好大量的变换。
二、迭代法在数值计算中,迭代法是一种较为常用的方法。
它是通过不断地逼近目标值,将它转化为计算机可处理的数值。
基本思路是通过设定初始值,在经过多次计算之后逐渐逼近方程的解。
对于一元高次方程,可以采用牛顿迭代法、二分法、拉格朗日准则等方法。
其中,牛顿迭代法就是根据牛顿迭代公式 f(x) = f(x0) + f’(x0) * (x - x0) 的原理,将迭代值逐渐逼近真实值。
每一次迭代的过程中,都需要计算出方程的导数来确定迭代的方向。
在实际求解中,迭代法需要注意:需要定义一个合适的起始点,否则会出现收敛速度慢或不收敛的问题;迭代过程中需要逐步加大步长,以确定方程的解;要保证迭代后的方程近似于原方程,使得求解得到的结果能够有更好的准确性。
三、优化算法优化算法是指基于模拟退火、遗传算法、粒子群优化等方法进行优化求解。
这类算法不再针对一元高次方程本身,而是针对方程的解,并通过优化算法来寻找最优解。
遗传算法是一种基于生物进化理论的算法,通常应用于优化问题的求解。
具体操作是将问题转化为某个适应程度函数的最优值问题,通过基因交叉、突变等过程来寻找最优解。
粒子群算法也是一种近似的优化算法,它将求解的过程看作是粒子在搜索空间中的移动,通过优化速度和位置,从而找到最优解。
解方程综合如何解一元多次方程在数学中,一元多次方程是由未知数和其相应的系数构成的方程。
解一元多次方程的过程需要运用数学知识和技巧以求得未知数的值。
本文将介绍解一元多次方程的综合方法及其应用,以帮助读者掌握解题技巧。
一、解一元多次方程的基本步骤解一元多次方程的基本步骤包括:化简方程、配方、整理方程和解方程。
1. 化简方程化简方程是将一元多次方程中的各项合并,使方程简洁明了,易于计算。
常用的化简方法有合并同类项、提取公因式等。
2. 配方配方是将一元多次方程通过整理,使其形式符合特定的方程类型,进而利用相应的配方公式求解。
3. 整理方程整理方程是指将一元多次方程中各项重新排列,使其成为一元次数从高到低的方程,方便进行进一步的计算和解方程。
4. 解方程解方程是通过运用等式的性质和变形规则,以求得未知数的值。
解方程的方法有化简、代入、分解等。
二、常见的一元多次方程类型及解法1. 一次方程一次方程是指未知数的次数为1的方程,形如ax + b = 0。
解一次方程的方法是运用逆运算以求得未知数的值。
常用的解法有加减消元法、代入法等。
2. 二次方程二次方程是指未知数的次数为2的方程,形如ax^2 + bx + c = 0。
解二次方程的方法有配方法、求根公式、因式分解等。
3. 三次方程三次方程是指未知数的次数为3的方程,形如ax^3 + bx^2 + cx + d= 0。
解三次方程的方法有因式分解法、代入法、综合除法等。
4. 高次方程高次方程是指未知数的次数大于3的方程,如四次方程、五次方程等。
解高次方程的方法有因式定理、代入法、综合除法、牛顿迭代法等。
三、综合应用举例例题一:解一元多次方程x^3 + 2x^2 - 13x + 10 = 0解法:通过观察,我们可以得知x = 1是方程的一个解。
将方程除以(x-1),得到商式x^2 + 3x - 10 = 0。
再利用因式分解或求根公式,可以求得方程的其他解。
例题二:解一元多次方程x^4 - 16 = 0解法:利用求根公式,可以得到方程的解为x = ±2。
数学方程解答技巧整理方法数学是一门需要逻辑思维和解题技巧的学科,而方程解答则是数学中最基础也是最重要的一部分。
解方程的过程可以锻炼我们的思维能力和逻辑思维能力,培养我们的分析和解决问题的能力。
在这篇文章中,我将整理几种常见的数学方程解答技巧,希望能对广大学生有所帮助。
一、一元一次方程一元一次方程是最简单的方程形式,通常可以表示为ax + b = 0。
解这类方程的基本思路是将未知数移项,使得方程变为x = c的形式。
具体的解题步骤如下:1. 将方程中的常数项移到等号右边,得到ax = -b;2. 将方程两边同时除以a,得到x = -b/a。
需要注意的是,如果方程中的系数a为0,则方程无解或有无穷多解。
二、一元二次方程一元二次方程是形如ax^2 + bx + c = 0的方程,其中a、b、c为已知常数且a ≠ 0。
解这类方程的方法有多种,下面介绍两种常用的解法。
1. 因式分解法如果一元二次方程可以因式分解,那么解方程就变得相对简单。
假设方程为(x - m)(x - n) = 0,其中m、n为已知常数,那么方程的解为x = m或x = n。
2. 公式法对于一元二次方程ax^2 + bx + c = 0,可以使用求根公式来求解。
求根公式为x = (-b ± √(b^2 - 4ac)) / 2a。
需要注意的是,根的个数和判别式Δ = b^2 - 4ac的正负有关。
如果Δ > 0,则有两个不相等的实根;如果Δ = 0,则有两个相等的实根;如果Δ < 0,则无实根,但有两个共轭复根。
三、一元高次方程一元高次方程是指次数大于2的方程,如三次方程、四次方程等。
解这类方程的方法有很多,下面介绍两种常用的解法。
1. 因式分解法如果一元高次方程可以因式分解,那么解方程就变得相对简单。
通过观察方程中的因式,将方程分解为若干个一元一次方程,然后分别解这些一元一次方程,最后得到方程的解。
2. 代换法对于一元高次方程,有时候可以通过代换的方法将其转化为一元一次方程。
一元高次方程的漫漫求解路若有人问你:“你会解一元二次方程吗?”你会很轻松地告诉他:会的,而且非常熟练!任给一个一元二次方程20,0,ax bx c a ++=≠ ①由韦达定理,①的根可以表示为2b x a-±=。
若进一步问你,会解一元三次方程或更高次数的方程吗?你可能要犹豫一会儿说,只会一些简单的方程。
于是你就会想:一元三次方程或更高次数的方程,是否也像一元二次方程的情形一样,有一个公式,它可以用方程的系数,经过反复使用加减乘除和开方运算,把方程的根表示出来?数学家们当然应当给出完美的理论来解决高次方程的求解问题。
有关理论至少应当包括高次方程是否有解?如果有解,如何求得?n 次方程的一般表达式是101100,0,n n n n a x a x a x a a --++⋅⋅⋅++=≠而1011()n n n n f x a x a x a x a --=++⋅⋅⋅++称为n 次多项式,其中00a ≠。
当系数01,,a a1,,n n a a -⋅⋅⋅都是实数时,称()f x 是n 次实多项式,当系数中至少有一个为复数时,称()f x 为n 次复系数多项式。
如果存在复数α,使得()0f α=,就称α是n 次方程()0f x =的一 个根,或称为n 次多项式()f x 的一个根。
1799年,年仅22岁的德国数学家高斯在他的博士论文中首先证明了“代数基本定理”:复数域上任一个次数大于零的多项式,至少有一个复数根。
根据代数基本定理可以推出:复数域上n 次多项式恰有n 个复数根,其中k 重根以k 个根计算。
这一结论也可以用多项式的因式分解语言来叙述:“复数域上任何n 次多项式都可以分解成n 个一次式的乘积。
”代数基本定理是一个纯粹的多项式根的存在定理,它没有给出求根的具体方法。
要求得n 次方程的根,一般是希望得到n 次方程1011()0n n n n f x a x a x a x a --=++⋅⋅⋅++= ②的求解公式,如二次方程①的求根公式那样。
众所周知,方程①的解早在古代的巴比伦、埃及、中国、印度、希腊等国的数学著作中,都有不同的表述方式。
一个n 次方程②的求根公式是指,②的根通过其系数经由加、减、乘、除以及乘方、开方的表示式,也称这种情况为方程有根式解。
三次以及高于三次的方程是否有根式解?也就是说,是否有求根公式?经过漫长的研究之路,直到16世纪,意大利数学家卡当(Candano )及其助手才先后给出了三次和四次方程的根式解。
这里我们向读者介绍卡当关于三次方程解的公式,从中可看出他所作的极富技巧的变换。
另一方面,这个与二次方程仅仅相差一次方的三次方程,是中学时代爱好数学的青少年向往着解决的问题,看看前人是如何解决的,自己又能得到什么启示?不失一般性,可以设三次方程中3x 的系数为1,则三次方程为 320x ax bx c +++= ③ 其中,,a b c 是任意复数。
若令3a x y =-,则三次方程简化为 30y py q ++= ④ 其中33a pb =-,32327ab a q c =-+, 设123,,y y y 表示简化方程④的根,则据根与方程系数的关系,得1230y y y ++=。
若令3242712u p q v ⎧=--⎪⎨=-⎪⎩,2112322123z y v y vy z y vy v y ⎧=++⎪⎨=++⎪⎩。
对于适当确定的立方根,卡当公式是1z =,2z = 求解线性方程组12321231212320y y y y v y vy z y vy v y z ++=⎧⎪++=⎨⎪++=⎩,得到11221212123121()31()31()3y z z y v z v z y v z v z ----⎧=+⎪⎪⎪=+⎨⎪⎪=+⎪⎩,于是,原三次方程的三个根为1y =2y ω=,3y ω=其中23427q p ∆=+,122ω=-+(i =是虚数单位)。
对于四次方程求根,就更加复杂了。
但数学家们还是找到了一个解四次方程的办法。
与三次情形类似,用一个平移,消去方程3x 的这一项,于是可假定四次方程为420x ax bx c +++= ⑤然后构造方程的预解式224()(4)0b u a u c ---= ⑥这是u 的三次方程。
通过这个三次方程解出u ,把得到的u 代入,可以把原方程化为两个二次方程来求根。
因而可以说,对于次数不超过4的方程,都可以找到根的计算公式,使得方程的每个根可以用方程的系数经过加减乘除和开方运算表示出来。
做这件事就叫做根式求解。
由四次方程根式可解的突破,使当时许多著名的数学家几乎都相信任意的五次方程也一定可以根式求解,并以极大的热情和自信寻找五次或更高次数方程的求根公式。
从16世纪中叶到19世纪初,为了获得五次方程解的类似结果,最杰出的数学家,如欧拉、拉格朗日,都曾做过一些尝度,但都没有成功。
1771年,拉格朗日,才开始怀疑这种求根公式的存在性。
他通过分析发现,次数低于5的代数方程求根,都可以经过变量替换,先解一个次数较低的预解式,再代入求原方程的解。
到了五次方程,情况完全变了,预解式的次数不是降低了,而是升高了。
1801年,高斯也意识到这个问题也许是不能解决的。
直到1813年,拉格朗日的学生鲁非尼(Ruffini )终于证明了,通过找预解式的办法来求解五次方程是行不通的。
鲁非尼的结果只是说用拉格朗日的办法解五次方程是不可能的,并不能说不存在其他的解决办法。
1826年阿贝尔发表了《五次方程代数解法不可能存在》一文,第一个正式从否定的角度来谈求根公式的存在。
他证明了“具有未定系数的、高于4次的方程是不能用根式求解的”。
不过他的思想当时是有很多人(包括高斯在内)表示不理解,而且他的证明也还不很清楚,有一些漏洞。
他也没有给出一个准则来判定一个给定的高次代数方程是否可以根式求解。
阿贝尔的结论具有广泛性,但并不排除对一些特殊的5次和5次以上方程具有根式解,例如,50x a -=就有根式解。
于是更深刻的问题被提出了:一个方程有根式解的充要条件是什么?这个在代数方程中至关重要的问题被法国青年数学家伽罗华(Galois )彻底解决(但伽罗华理论在他死后约15年,1846年才发表)。
伽罗华的天才思想促使了今天我们称之为抽象代数这门学科的蓬勃发展。
要了解伽罗华的理论,需要群、环和域等抽象代数的理论知识。
伽罗华的思想就是把方程()0f x =的求解问题转化为确定对应的伽罗华群是否为所谓的可解群的问题。
当对应的伽罗华群是可解群,则方程就是可以根式求解的,否则就不可以根式求解。
可解群是群的理论中一个重要内容,也有许多方法来确定一个群是否为可解群。
曾经有一个著名的猜测,叫做伯恩赛(Burnside )猜测,它说有奇数个元素的有限群是可解群。
这个问题在1963年已被数学家费特(Feit)与汤卜松(Thompson )解决,证明很长,太平洋数学杂志用了整整一期来发表他们的研究结果,不可解群也有很多,例如5n ≥时,n 个文字的对称群就是不可解群。
对5n ≥,我们完全可以构造一个n 次多项式,使得它所对应的伽罗华群不是可解群。
因此对每个5n ≥,都存在一个不是根式可解的n 次多项式。
这样就彻底解决了一般五次以上方程的根式不可解性。
4n ≤,根式可解,5n ≥一般就不可解了,真是“一步之遥,天壤之别”。
下篇 怎样得到高次方程的近似根盛松柏伽罗华找到了一个一元高次方程能否根式求解的判别方法,但是他还是没有给出高次程的具体求解方法。
那么,如何求得高次方程的根呢?在一般情况下,求出精确根是很困难的,而且科学研究、工程技术季实际应用中,也没有必要求出精确根,只要求出根的近似值。
那么,又如何求得高次方程的根的近似值呢?设*x 是()f x 的一个精确根,即*()0f x =,假设问题所要求的精确度为ε,也就是 满足*x x ε-<的x ,或满足**x x x ε-<的x ,称为*x 的一个近似根。
下面我们介绍一下求近似根的几个常用方法:方法一:牛顿切线法取一个初始值0x x =,然后使用下述迭代公式1'()()k k k k f x x x f x +=-,0,1,2,,k =⋅⋅⋅ 其中'()f x 是()f x 的一阶导数。
牛顿切线法有明显的几何意义,如右图,因为()f x 的根*x 满足*()0f x =,在直角 坐标平面中,点*(,0)x 恰是()y f x =的曲线与O x 轴的交点,于是每次迭代所得的点k x 正好是曲线上点(,())k k x f x 的横坐标。
牛顿切线法其实就是过曲线上的一列点所作曲线的切线与O x 轴的交点。
方法二:牛顿割线法在方法一中,只要给定一个初始点0x 。
而方法二中,我们给定两个初始点01,x x 。
然后 在每次迭代时,把1,k k x x -作为下一次迭代的始值。
111(),1,2,3,()()k k k k k k k x x x x f x k f x f x -+--=-=⋅⋅⋅- 这类方法都是从已知的点通过相同的计算公式,求得下一个新点。
数学上称为迭代法。
迭代法很适合于计算。
只要初始值选取得好,以上两种方法产生的无穷数列。
01{,,,,}n x x x ⋅⋅⋅⋅⋅⋅均能收敛于()f x 的根*x 。
方法三:二分法先将[,]a b 分成N 等份,得到N 个等长的小区间,显然每个小区间的长度b a h N-=。
记第一个小区间为11[,]a b ,其中1a a =,1b a h =+,第i 个小区间为[,]i i a b ,则i a = (1)a i h +-,1i i b a ih a +=+=,1,2,,.i N =⋅⋅⋅若对其中某些i ,有()()0i i f a f b ⋅<,则在(,)i i a b 中必有()f x 的一个根。
然后对这些 (,)i i a b 再分别用二分法,便能求出()f x 的一个近似根。
二分法很简便,是工程师们喜欢的一种求全部相异近似单实根的方法。
问题在于如何合适地确定N ,因为N 太大,则工作量也会太大,而N 太小时,会出现某个小区间内包含多个根,从而二分法会将这个小区间的根漏掉。
方法四:劈因子法先用求单实根的方法,求出()f x 的一个根1x ,利用因式分解有11()()()f x x x f x =-, 其中1()f x 是(1n -)次多项式。
然后求1()f x 的一个根2x ,依次计算下去就有可能求出()f x 的所有实根。
这里所说的有可能求出()f x 的所有实根,而不是一定,是因为在一般情况下,我们只能求得12,x x 等的近似值,所以有可能会影响到后面所得根的精确性。
方法五:林士谔—赵访熊法林士谔与赵访熊是我国两位著名的数学家,在计算数学方面都有卓越的贡献。