矩阵变换在求多项式最大公因式中的应用毕业论文.doc

上传人:仙人指路1688 文档编号:2887743 上传时间:2023-03-01 格式:DOC 页数:23 大小:1.21MB
返回 下载 相关 举报
矩阵变换在求多项式最大公因式中的应用毕业论文.doc_第1页
第1页 / 共23页
矩阵变换在求多项式最大公因式中的应用毕业论文.doc_第2页
第2页 / 共23页
矩阵变换在求多项式最大公因式中的应用毕业论文.doc_第3页
第3页 / 共23页
矩阵变换在求多项式最大公因式中的应用毕业论文.doc_第4页
第4页 / 共23页
矩阵变换在求多项式最大公因式中的应用毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《矩阵变换在求多项式最大公因式中的应用毕业论文.doc》由会员分享,可在线阅读,更多相关《矩阵变换在求多项式最大公因式中的应用毕业论文.doc(23页珍藏版)》请在三一办公上搜索。

1、TONGREN UNIVERSITY 学 号:2010041056本 科 毕 业 论 文矩阵变换在求多项式最大公因式中的应用院 系: 数学科学学院 学 科: 理 学 专 业: 数学与应用数学专业 指导老师: * 贵州 铜仁2014年6月数学与应用数学专业本科毕业论文贵州 铜仁2014年6月TONGREN UNIVERSITY目录摘要IABSTRACTII1.引言12. 公因式及最大公因式的定义13. 辗转相除法求多项式的最大公因式24. 矩阵变换求多项式的最大公因式24.1定义及基本性质24.2矩阵初等变换法43.3等效矩阵变换法55. 用C语言处理等效矩阵变换法56. 应用举例57.结论13

2、8.参考文献149.附录1510.致谢18矩阵变换在求多项式最大公因式中的应用摘要在参阅了许多相关文献的基础之上,通过归纳总结出怎样运用矩阵变换来求多项式的最大公因式,并且得出几种求多项式最大公因式的方法,在解题过程中,通过几种解法的对比,体现了矩阵变换求多项式最大公因式的优越性,最后,编写了语言程序,来处理等效矩阵变换法,从而求得多项式的最大公因式.关键词:最大公因式 矩阵变换 对比 优越性 C语言Application of matrix transformation in obtaining the greatest common divisor of polynomialInstitu

3、te of MathematicsMathematics and Applied MathematicsHe JunchengABSTRACTAfter reading many literatures based on the summed up, the greatest common factor of how to use the matrix transformation to polynomial, and the several methods for polynomial greatest common factor, in the problem solving proces

4、s, through the comparison of several methods, the matrix transformation and superiority, polynomial greatest common divisor finally, the preparation of the C language program, to deal with the equivalent matrix transform method, so as to obtain the polynomial greatest common divisor.Key words: The g

5、reatest common divisor Matrix transformation Contrast Superiority C language1.引言多项式理论是古典代数的主要内容,多项式的研究,源于“代数方程求解”,是最古老数学问题之一.现在大学里开设的高等代数,一般包括两部分:多项式代数、线性代数初步.这说明多项式理论在高等代数里具有不可忽视的作用.事实上,我们在中学也已经对多项式有所接触,从最初的方程开始,都是多项式的形式.大学里学的多项式中的整除性理论、最大公因式、重因式、分解的唯一,这些都是中学代数里的内容的提升.我们之所以要学习多项式,就是因为其不仅在数学理论上具有不可替

6、代的作用,还因为多项式是一类最常见、最简单的函数,它的应用非常广泛.最大公因式在多项式理论中又具有很重要的作用,很多涉及到多项式的问题都会或多或少涉及到最大公因式的求解,例如,求解代数方程组、判断多项式间的互素问题等.因此,研究多项式的最大公因式是很有必要而且很有意义的.目前也有很多人在研究了最大公因式的求解方法;有利用辗转相除法、辗转相减法、等效变换法、但利用矩阵初等变换的较多.利用矩阵初等变换方法的大致相同,主要就是初等行变换,可见文献18,都是从矩阵的初等变换性质做了一些工作来求解最大公因式.多项式矩阵的初等变换指的是多项式环上的以下种换:1. 互换多项式矩阵中两行的位置;2. 以中一个

7、零次多项式乘矩阵的某一行;3. 把矩阵的某一行的倍加到另一行上,这里是中的任意一个多项式以上种初等行变换对应类初等矩阵,除第种情况外,其余类与数域上的初等矩阵相同,而第类只需将数域上的初等矩阵中的换为即可本文首先在研读了大量的求解最大公因式的有关解法的基础上,理清了求最大公因式各种方法的优缺点,基本把握了同时求多个多项式的最大公因式的初等变换法,对初等变换法有了一定的认识.运用实例进行对比,并通过具体实例分析,得出在不需要求解系数多项式时,初等变换显得有些多余,此时最好用等效变换法,而且等效矩阵可以用计算机程序来处理,显得十分方便.2. 公因式及最大公因式的定义定义2.110如果多项式既是的因

8、式,又是的因式,那么就是与的一个公因式10. 定义2.210设,是中两个多项式.中多项式称为,的一个最大公因式,如果它满足下面两个条件:1. 是,的公因式;2. ,的公因式全是的因式.在公因式中占有特殊重要位置的就是最大公因式,对于最大公因式的求解方法有很多很多,在我们最先接触的就是解决最大公因式的存在问题,我们主要根据带余除法对最大公因式存在性进行证明,详见参考文献10.3. 辗转相除法求多项式的最大公因式定理3.1.110设是一个数域,为数域上的一元多项式环,如果多项式,的最大公因式为,则存在使得:成立,且称多项式,是最大公因式的系数多项式.利用辗转相除法求出,再反带回去求,这样做在当,次

9、数高的时候就很难,而且极易出错,还有一个不足之处就是当我们要求的是多个多项式时,即:对于任意个一元多项式:,在中存在最大公因式:及.使得:成立.辗转相除法求、就比较繁琐了,对于多个多项式的最大公因式就更繁琐了,要先求出的最大公因式;再求出的最大公因式,依此下去最后的最大公因式,此时,用此方法求最大公因式就如此复杂,至于求就更是难上加难了.4. 矩阵变换求多项式的最大公因式4.1定义及基本性质本文以表示数域上的一元多项式环.定义4.1.1以中的一元多项式为元素的矩阵称为多项式矩阵.设的个一元多项式,规定符号:表示这个一元多项式的最高系数为1的最大公因式.则有以下性质8:性质4.1.1:性质4.1

10、.2:性质4.1.3:由性质2和性质3可得以下推论 1推论4.1多项式矩阵的初等变换10:1. 矩阵的两行(列)互换位置;2. 矩阵的某一行(列)乘以非零常数;3. 矩阵的某一行加另一行的倍;其中是一个多项式.多项式矩阵的性质:性质4.1.4:每个可逆的多项式矩阵都可以表示成一些多项式初等矩阵的乘积;性质4.1.5:对一个多项式矩阵施行,改变每个列向量的多项式的最大公因式;性质4.1.6:设为多项式矩阵,则存在可逆的多项式矩阵,使得为阶梯型矩阵.综上可得:交换两个多项式的位置,不改变其最大公因式;将某一多项式乘以一个不为零的常数,不改变最大公因式;将某一项的倍,加到另一个多项式上,不改变其最大

11、公因式,对比矩阵的初等变换,上述性质恰好都满足4.2矩阵初等变换法规定:下文中的表示将前一个矩阵的第行乘以,而表示将一个矩阵的第行乘以加到第行上.定理4.2.16对于阶矩阵总可以通过行初等变换化为:并且定理4.2.226对于阶矩阵可以对其施行行初等变换转化为其中是一个阶的零矩阵,是一个阶矩阵,且称此方法为矩阵初等变换法6.3.3等效矩阵变换法设,是任意两个多项式,则与矩阵或等效,从而,的最大公因式通过数学归纳法容易将此方法推广到个一元多项式求其最大公因式,称此方法为等效矩阵变换法4,多项式组的系数矩阵就称为该多项式组的等效矩阵.该方法克服了辗转相除法的来回计算,在求解时有了很大的进步,并且也可

12、以推广到求个一元多项式的最大公因式,但是美中不足的是,它没有求解出满足:成立的.5. 用C语言处理等效矩阵变换法等效矩阵变换法4的优点还有可以通过计算机编程来处理求多项式最大公因式,在此以语言为例,可以将等效矩阵看成语言中的二维数组,通过编写C语言程序,将二维数组做等效矩阵变换法相同的初等变换,只要将此二维数组11变形为最终形式就可一眼看出多项式的最大公因式,具体实例参见应用举例,代码参见附录.用计算机来处理矩阵变换有很大的优势,首先,计算机的运算速度相当的快,我们只需要输入几个多项式的系数即可,程序可以直接输出最终的变换结果,通过变换后的矩阵可以直接看出多项式的最大公因式.6. 应用举例例6

13、.110 求和的最大公因式,其中,.分析:此题只求和的最大公因式,并没有要求求解出满足:的,而且题目只有两个多项式,因此我们可以用多种方法来进行求解,在此给出3种方法进行求解,分别是1.辗转相除法10;2.等效矩阵变换法4;3.矩阵的初等变换法26.解法一(辗转相除法10):对于和施行辗转相除法.为了避免分数系数,在做除法是,可以用数域的一个不等于零的数乘以被除式或除式.而且不仅在每一次除法开始时可以这样做,这样商式会受到影响,但每次求得的余式与正确的余式只差一个零次因式,对求最大公因式来说是没有什么关系的.把先乘以2,再用来除,结果参见表 11:表 11 (乘以2) 这样,我们得到第一余式:

14、把乘以3,再用去除,结果参见表 222:表 22 (乘以3) 约去公因子56后,得到第二余式:再以除得.计算结果被整除:所以,就是和的最大公因式:.解法二(等效矩阵变换法4):首先做等效矩阵 所以和的最大公因式:解法三(矩阵初等变换法26):所以和的最大公因式为:综上可得出三种方法的优缺点.首先,辗转相除法是一般方法,是利用带余除法一步一步计算得到的,而等效矩阵变换法在此题中求解速度得到了很大的提高,而且清晰易懂,不易出现错误.而矩阵的初等变换法,则是计算原理简单,稍微有点麻烦,但是该方法最大的优势就是在求解最大公因式的同时一并将满足的,一次性求出来了,其中,.例6.2:求多项式组的最大公因式

15、.分析:此题求解的是,即求三个多项式的最大公因式,此时若用辗转相除法、因式分解法就非常的难了,所以最佳的选择就是矩阵的初等变换法,等效矩阵变换法.解法一(矩阵初等变换法26): 所以的最大公因式为:.并且求得使等式成立的为:,.解法二(等效矩阵变换法4):作三行五列的等效矩阵 所以的最大公因式为:对于求解此类多个多项式的最大公因式,以上两种方法来说,解法二等效矩阵变换法较解法一显得简单方便,易懂,但是解法一的优势就是利用矩阵的初等变换,一步一步求解,而且同时求解出满足:的最大公因式系数.例6.3 求和的最大公因式,其中,.解:用计算机程序处理结果参见图 111:图 11所以多项式的最大公因式为

16、:例6.4:求多项式组的最大公因式.解:用计算机编程来处理结果参见图 22图 22所以的最大公因式为:例6.5:求以下多项式的最大公因式,.解:C语言程序处理结果参见图 33:图 33所以的最大公因式为:.7.结论通过比较可得出结论:在高等代数中,求解最大公因式的方法非常的多,但是对于需要求多个多项式的最大公因式和求最大公因式的系数多项式时,我们的最佳选择就是矩阵的初等变换法,对于求多个多项式的最大公因式而不需要求出其最大公因式的系数多项式时可选择等效矩阵变换法,此方法比较方便.而且当多项式的个数很多时,无论用哪一种方法计算,都有一定的难度,但是,将多项式转换成等效矩阵,用计算机程序来处理,就

17、显得相当简单,我们只需输入多项式的系数即可,复杂的计算过程就可以交给计算机了.8.参考文献1胡少勇,易艺.多项式最大公因式求法探讨J.九江学院理学院学报,2005.3.2岳贵新,丛政义.求多项式最大公因式的矩阵变换方法.沈阳电力高等专科学校学报.2001,3(1):54-56.3王丹华.利用矩阵初等变换求多项式的最大公因式J.高等数学究,2005,8(1):15-17.4李先安.矩阵法求多项式的最大公因式J.攀枝花学院学报,2002,19(3):57-62.5杨纯富.矩阵的初等变换在多项式理论中的应用J.重庆文理学院学报(自然科学版),2008,27(3):55-57.6刘汝臣.求多项式的最大

18、公因式的矩阵方法J.沈阳工业学院学报,2000,19(1):89-94.7包桐桢.利用矩阵的初等变换求个一元多项式的最大公因式J.数学通报,1989.44-45. 8郁金祥.多项式最大公因式求解方法的推广J.嘉兴学院学报,2001,13(3):27-29.9张士诚.求多项式组最大公因式的矩阵变换及算法J.徐州师范大学学报,2001,19(4):12-15.10张禾瑞,郝鈵新.高等代数第五版M.北京:高等教育出版社,2007.38-55.11谭浩强.C语言程序设计(第四版)M.北京:清华大学出版社,2010.9.附录#include#include/*宏定义多项式的个数与多项式的最高次数不得超过

19、 M 和N*/#define M 20/*M为多项式的个数,即矩阵的最大行数*/#define N 20/*N为多项式中的最高次数加1,也是矩阵的最大列数*/int main()int flag = 1;/*flag 作标记用*/int temp = 0, k= 1;/*temp用着 中间变量,k 记录矩阵变换的循环次数*/int AMN,BMN;/*A矩阵为多项式矩阵,B为过度矩阵*/int min = 0, maxtr = 0, max;/*min 用着存放几个数中的最小者,maxtr为最大公约数*/int i = 0, j = 0, a = 0, b= 0;/*循环专用变量*/int m

20、, n;/*多项式的个数m,多项式中的最高次数为n*/printf(请输入多项式的个数m(m20):);scanf(%d,&m);printf(请输入多项式中的最高次数n(n20):);scanf(%d,&n);printf(请输入一个%d*%d的矩阵:,m,n+1);for(i = 0;i m ;i+)for(j = 0;j n+1 ;j+)scanf(%d,&Aij);/*下面打印输入的矩阵,以检查是否有误*/printf(你输入的矩阵为:n);for(i = 0;i m;i+)for(j = 0;j n+1 ;j+)printf(%5d,Aij);if(j =n)printf(n);/*

21、下面是最关键的一步,进行矩阵初等变换*/while( flag = 1 )/*下面将A矩阵复制到B矩阵中*/for(a = 0;a m ;a+)for(b = 0; b n+1;b+)Bab=Aab;/*次循环将第一列的除第一个数外的其他数化为0*/for(i = 1;im;i+)for(j = 0;j n+1;j+)temp = Bi0;if(temp != 0)Aij = Aij*A00 - A0j*temp;/for/for/*下面将第一行最后一个数化为0*/for(i = 1;im;i+)for(j = 0;j n+1;j+)temp = A0n+1-k;if(Ain+1-k !=0

22、& temp != 0)A0j = A0j*Ain+1-k- Aij*temp;/for/for/*printf(矩阵变换的结果为:n);for(i=0;i M;i+)for(j = 0;jN;j+)printf(%5d,Aij);if(j = N-1) printf(n);*/*下面将矩阵进行变形*/for(i = 1;im;i+)for(j = 0;jn+1-k;j+)Aij=Aij+1;if(j = n-k) Ain+1-k = 0;/输出变形后的矩阵printf(第%d次变换的矩阵为:n,k);for(i=0;i m;i+)for(j = 0;jn+1;j+)printf(%7d,Ai

23、j);if(j = n) printf(n);printf(nn);/*下面判断矩阵除第一行外是否全为零*/flag = 0; /*还原flag的值*/for(i = 1;im;i+) for(j = 0;jn+1;j+) if(flag = 1) break; if( Aij = flag ) flag = 0; else flag=1; /*if( flag = 0)printf(矩阵除一行外全为零!n);if( flag = 1)printf(矩阵除第一行外不全为零的!n);*/k+;if(k = n+1 & flag = 1) printf(你输入的多项式没有最大公因式!);break

24、;/whileif(flag = 0)if(A00 0)for(j = 0;jn+1-k+2;j+)A0j = A0j * (-1);/*下面找出矩阵第一行几个元素的最大公约数*/min = abs(A00);for(j = 1;j abs(A0j) ) min = abs(A0j);for(maxtr =1 ;maxtr = min;maxtr+)for(j = 0;j n+1-k+2;j+)if(abs(A0j)%maxtr = 0);else break;max = maxtr;/forfor(j = 0;j n+1-k+2; j+) A0j = A0j/max;/ for(j = 0;

25、j n+1-k+2; j+)/*printf(%dn,k);/*输出k的值,判断进行了几次变换*/printf(矩阵变换的最后结果为:n);for(i=0;i m;i+)for(j = 0;jn+1-k+2;j+)printf(%7d,Aij);if(j = n-k+2) printf(n);printf(n);/*最后剩下的数的个数为n+1-k+2个不为零*/ if(flag = 0)return 0;/main10.致谢这次我能够顺利完成这次毕业论文,并不是我一人的功劳,在写作的过程中,遇到了许许多多的困难,但在指导老师的指导下,以及同学们的帮助下,克服这些困难,论文才得以按时完成.在此我衷心的感谢我的指导老师和帮助我的同学们,同时也对提供给我参考文献的作者们表示深深的感谢,谢谢你们!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号