求解多项式最大公因式的一个算法

第27卷第5期广西民族师范学院学报

Vol.27No.5求解多项式最大公因式的一个算法

农利伟

(南宁地区教育学院数学系,广西

南宁

530001)

摘要:研究了用辗转相除法求解多项式最大公因式的一个迭代算法。算法将两个多项式相乘,相除等过程用矩阵方法来处理,从而获得了用Matlab软件求解多项式最大公因式的迭代算法。

关键词:多项式;最大公因式;迭代算法;辗转相除法;Matlab中图分类号:TP391文献标识码:A文章编号:1674-8891(2010)05-0004-02

IterativeAlgorithmfortheGreatestCommonFactorofPolynomial

(DepartmentofMathematics,NanningPrefecture’sEducationalCollege,Nanning,Guangxi530001,China)

NongLi-wei

Abstract:Thisthesisresearchesoniterativealgorithm,whichgivesasolutiontothegreatestcommonfactorofpolynomialoneuclideanalgo-rithm.Withpolynomialsmultipliedanddivided,bythematrixapproach,aniterativealgorithmisachievablebymeansofMatlabasaresultoffillingtheblankofsolvingthegreatestcommonfactorofpolynomialwithMatlab.

Keywords:polynomial,thegreatestcommonfactor;iterativealgorithm;euclideanalgorithm;Matlab.

0引言

多项式最大公因式的求解是多项式理论中的核心部分,许多实际问题最终常常归结为求解多项式的最大公因式,因此,设计多项式最大公因式的有效算法是十分必要的。以求解多项式最大公式的辗转相除法理论为基础,结合MATLAB的特点,设计出可以有效求解多项式最大公因式相关问题的一个算法,且此算法编程简单,方便实用,容易推广。

rk-1(x)=rk(x)qk+1(x)

其中r1(x)≠0(i=1,2,…,k),根据最大公因式的性质可知rk(x)是f(x)与g(x)的一个最大公因式。由(2)中倒数第2个式子解出rk(x),再由(2)中倒数第3个式子解出rk-1(x),利用逐步代人法可求得(1)中的u(x)和v(x)。2辗转相除法中的三个变形

传统求解多项式最大公因式的辗转相除法是基于用笔与纸计算的,要想用电脑来计算,需要改革用笔和纸计算中的无规律性。为此,对两个多项式相乘的方法,求商式与余式的方法,求和逐步代人法等传统方法进行变形,以获得迭代算法。下面以f(x)=2x3+3x+1,g(x)=x2+2x+1为例来说明算法中的一些变形。

1传统求解多项式最大公因式的辗转相除法

以F(x)表示数域F上的一元多项式环。设f(x)与g(x)都是数域F上的一元多项式,且f(x)的次数大于或等于g(x)的次数,

要求出F(x)中的多项式

u(x)与v(x),使

(f(x),g(x))=u(x)f(x)+v(x)g(x)

成立的辗转相除法如下:

(1)2.1两个多项式相乘法的变形

与相乘按如下格式计算

用g(x)除f(x)得商式与余式r1(x);如果r1(x)≠

0,则再用r1(x)除g(x),又可以得到商式q2(x)与余式r2(x);如此辗转相除下去,由于余式的多顶式次

数越来越小,因此在有限次以后,必有一个余式为

2xÁ+0xÂ+3x+11x

Â

+2x+4x

1

0。于是得到下面的等式组,

f(x)=g(x)q1(x)+r1(x)g(x)=r1(x)q2(x)+r2(x)rk-2=rk-1(x)qk(x)+rk(x)

2xÃ+0xÄ+3xÁ1xÂ

+

0x

+

6x

+

2x

+

ÄÁÂ

(2)

2xÁ+0xÂ+3x+1

2xÃ+4xÄ+5xÁ+7xÂ+

5x+1

收稿日期:2010-6-16

作者简介:农利伟(1965-),男,壮族,广西天等人,南宁地区教育学院讲师,主要研究方向:矩阵方程迭代算法的构造与分析。

-4-

2010年第5期农利伟求解多项式最大公因式的一个算法10月25日出版

------------------------------------------------------------

n=length(f);

有了上面的图示,只须用下面简单的Matlabm=length(g);程序即可获得f(x)与g(x)相乘的结果。fori=1:n;forj=1:m

h(i,j+i-1)=g(j);f=[2031];g=[121];

end;endfori=1:3;forj=1:4;

L=n-m+1;%L表示g(x)除f(x)h(i,j+i-1)=f(j)*g(i);

%所得的商式中末知量的个数.end;end

h=sum(h).a=[h([1:L],[1:L]);f([1:L])]';程序运行后的结果为h=[2,4,5,7,5,1]。t=length(a);

hx=rref(a);

2.2求商式与余式的变形hx=hx(:,t);

q=hx';%q是g(x)除f(x)所得的商式.

用f(x)除g(x),求商式q1(x)与余式r1(x)。传forj=1:m;fori=1:n-m+1统方法是用竖式除法,它的主要缺点是不容易找w(i,j+i-1)=hx(i)*g(j);出规律,现在改用待定系数法求解。设q1(x)=end;enda1x+a0,r1(x)=b1x+b0,借助上面两个多顶式相乘的ifn-m+1>1格式,需要求解下列矩阵方程:w=sum(w);

end1210

+(0,0,b1,b0)(2,0,3,1)=(a1,a0)r=f-w;

0121

qx=poly2sym(q);

12A=[01;1-qx]*A;2,0(a,a)=()ÁÂ01而得首先通过解方程

ifabs(r)

到a1,a0,再解下列方程而得到,

d=g./g(1);

1210Z=[1/g(1),0;01]*A;(0,0,bÁ,bÂ)=(2,0,3,1)−(aÁ,aÂ)0121u=sym2poly(Z(1,1));v=sym2poly(Z(1,2));

return;else这样可获得(2)中各q1(x)与r1(x)的迭代算法。

k=find(abs(r)>10^(-10));2.3逐步代人法的变形

r(1:k(1)-1)=[];%r是g(x)除f(x)所得的余式.为了找出(2)中r1(x)与f(x),g(x)的关系,需要

end把(2)中的等式改写为矩阵相乘的等式形式,比如

f=g;g=r;w=[];h=[];把f(x)=g(x)q1(x)+r1(x)改写为

(x)1g(x)endf(x)qÁ

g(x)=



1

故f(x)g(x)=2x5+4x4+5x3+7x2+5x+1。

r(x)0Á

这样我们找到了与,的递推关系:

4结束语

(x)010101f(x)rÁ=

第27卷第5期广西民族师范学院学报

Vol.27No.5求解多项式最大公因式的一个算法

农利伟

(南宁地区教育学院数学系,广西

南宁

530001)

摘要:研究了用辗转相除法求解多项式最大公因式的一个迭代算法。算法将两个多项式相乘,相除等过程用矩阵方法来处理,从而获得了用Matlab软件求解多项式最大公因式的迭代算法。

关键词:多项式;最大公因式;迭代算法;辗转相除法;Matlab中图分类号:TP391文献标识码:A文章编号:1674-8891(2010)05-0004-02

IterativeAlgorithmfortheGreatestCommonFactorofPolynomial

(DepartmentofMathematics,NanningPrefecture’sEducationalCollege,Nanning,Guangxi530001,China)

NongLi-wei

Abstract:Thisthesisresearchesoniterativealgorithm,whichgivesasolutiontothegreatestcommonfactorofpolynomialoneuclideanalgo-rithm.Withpolynomialsmultipliedanddivided,bythematrixapproach,aniterativealgorithmisachievablebymeansofMatlabasaresultoffillingtheblankofsolvingthegreatestcommonfactorofpolynomialwithMatlab.

Keywords:polynomial,thegreatestcommonfactor;iterativealgorithm;euclideanalgorithm;Matlab.

0引言

多项式最大公因式的求解是多项式理论中的核心部分,许多实际问题最终常常归结为求解多项式的最大公因式,因此,设计多项式最大公因式的有效算法是十分必要的。以求解多项式最大公式的辗转相除法理论为基础,结合MATLAB的特点,设计出可以有效求解多项式最大公因式相关问题的一个算法,且此算法编程简单,方便实用,容易推广。

rk-1(x)=rk(x)qk+1(x)

其中r1(x)≠0(i=1,2,…,k),根据最大公因式的性质可知rk(x)是f(x)与g(x)的一个最大公因式。由(2)中倒数第2个式子解出rk(x),再由(2)中倒数第3个式子解出rk-1(x),利用逐步代人法可求得(1)中的u(x)和v(x)。2辗转相除法中的三个变形

传统求解多项式最大公因式的辗转相除法是基于用笔与纸计算的,要想用电脑来计算,需要改革用笔和纸计算中的无规律性。为此,对两个多项式相乘的方法,求商式与余式的方法,求和逐步代人法等传统方法进行变形,以获得迭代算法。下面以f(x)=2x3+3x+1,g(x)=x2+2x+1为例来说明算法中的一些变形。

1传统求解多项式最大公因式的辗转相除法

以F(x)表示数域F上的一元多项式环。设f(x)与g(x)都是数域F上的一元多项式,且f(x)的次数大于或等于g(x)的次数,

要求出F(x)中的多项式

u(x)与v(x),使

(f(x),g(x))=u(x)f(x)+v(x)g(x)

成立的辗转相除法如下:

(1)2.1两个多项式相乘法的变形

与相乘按如下格式计算

用g(x)除f(x)得商式与余式r1(x);如果r1(x)≠

0,则再用r1(x)除g(x),又可以得到商式q2(x)与余式r2(x);如此辗转相除下去,由于余式的多顶式次

数越来越小,因此在有限次以后,必有一个余式为

2xÁ+0xÂ+3x+11x

Â

+2x+4x

1

0。于是得到下面的等式组,

f(x)=g(x)q1(x)+r1(x)g(x)=r1(x)q2(x)+r2(x)rk-2=rk-1(x)qk(x)+rk(x)

2xÃ+0xÄ+3xÁ1xÂ

+

0x

+

6x

+

2x

+

ÄÁÂ

(2)

2xÁ+0xÂ+3x+1

2xÃ+4xÄ+5xÁ+7xÂ+

5x+1

收稿日期:2010-6-16

作者简介:农利伟(1965-),男,壮族,广西天等人,南宁地区教育学院讲师,主要研究方向:矩阵方程迭代算法的构造与分析。

-4-

2010年第5期农利伟求解多项式最大公因式的一个算法10月25日出版

------------------------------------------------------------

n=length(f);

有了上面的图示,只须用下面简单的Matlabm=length(g);程序即可获得f(x)与g(x)相乘的结果。fori=1:n;forj=1:m

h(i,j+i-1)=g(j);f=[2031];g=[121];

end;endfori=1:3;forj=1:4;

L=n-m+1;%L表示g(x)除f(x)h(i,j+i-1)=f(j)*g(i);

%所得的商式中末知量的个数.end;end

h=sum(h).a=[h([1:L],[1:L]);f([1:L])]';程序运行后的结果为h=[2,4,5,7,5,1]。t=length(a);

hx=rref(a);

2.2求商式与余式的变形hx=hx(:,t);

q=hx';%q是g(x)除f(x)所得的商式.

用f(x)除g(x),求商式q1(x)与余式r1(x)。传forj=1:m;fori=1:n-m+1统方法是用竖式除法,它的主要缺点是不容易找w(i,j+i-1)=hx(i)*g(j);出规律,现在改用待定系数法求解。设q1(x)=end;enda1x+a0,r1(x)=b1x+b0,借助上面两个多顶式相乘的ifn-m+1>1格式,需要求解下列矩阵方程:w=sum(w);

end1210

+(0,0,b1,b0)(2,0,3,1)=(a1,a0)r=f-w;

0121

qx=poly2sym(q);

12A=[01;1-qx]*A;2,0(a,a)=()ÁÂ01而得首先通过解方程

ifabs(r)

到a1,a0,再解下列方程而得到,

d=g./g(1);

1210Z=[1/g(1),0;01]*A;(0,0,bÁ,bÂ)=(2,0,3,1)−(aÁ,aÂ)0121u=sym2poly(Z(1,1));v=sym2poly(Z(1,2));

return;else这样可获得(2)中各q1(x)与r1(x)的迭代算法。

k=find(abs(r)>10^(-10));2.3逐步代人法的变形

r(1:k(1)-1)=[];%r是g(x)除f(x)所得的余式.为了找出(2)中r1(x)与f(x),g(x)的关系,需要

end把(2)中的等式改写为矩阵相乘的等式形式,比如

f=g;g=r;w=[];h=[];把f(x)=g(x)q1(x)+r1(x)改写为

(x)1g(x)endf(x)qÁ

g(x)=



1

故f(x)g(x)=2x5+4x4+5x3+7x2+5x+1。

r(x)0Á

这样我们找到了与,的递推关系:

4结束语

(x)010101f(x)rÁ=

相关文章

  • 中学数学教学论文题目
  • 1.数学中的研究性学习 2.数字危机 3.中学数学中的化归方法 4.高斯分布的启示 5.a2+b2≧2ab的变形推广及应用 6.网络优化 7.泰勒公式及其应用 8.浅谈中学数学中的反证法 9.数学选择题的利和弊 10.浅谈计算机辅助数学教学 ...查看


  • 特殊的高次方程的解法1
  • 特殊的一元高次方程的解法1 教学目标 知识与技能:理解和掌握二项方程的意义以及二项方程的解法: 过程与方法:学会把一个代数式看作一个整体,掌握可以通过换元转化为二项方程的方程的解法, 经历知识的产生过程,感受自主探究的快乐. 教学重点及难点 ...查看


  • 必修3-1-9秦九韶算法
  • 秦九韶算法 编号:必修3-1-9 内容: P37-39 学习目标:理解秦九韶算法,能够利用秦九韶算法求多项式函数的值,通过秦九韶算法案例的学习,进一步体会算法思想. 学习重点:秦九韶算法求多项式函数的值. 导学过程: 一.复习回忆: 1.辗 ...查看


  • 信息安全数学基础教学大纲
  • <信息安全数学基础>课程教学大纲 课程中文名称: 信息安全数学基础 课程英文名称: The Mathmatics of Information Security 课程类别:专业基础课 制定时间:2009年 2月 23日 一. 课 ...查看


  • 本科毕业论文_多项式方程的判别式与求根公式
  • 东 莞 理 工 学 院 本 科 毕 业 论 文 (2015届) 题 目: 多项式方程的判别式与求根公式 学生姓名: 姚培基 学 号: [1**********]0 院(系): 计算机学院 专业班级: 信息与计算科学(2)班 指导教师: 起止 ...查看


  • 解读特征向量
  • 数学上,线性变换的特征向量(本征向量)是一个非退化的向量,其方向在该变换[2]下不变.该向量在此变换下缩放的比例称为其特征值(本征值). 图1给出了一幅图像的例子.一个变换通常可以由其特征值和特征向量完全描述.特征空间是相同特征值的特征向量 ...查看


  • 因式分解的简单应用
  • <因式分解的简单应用>说课稿 一. 说教材 1.关于地位与作用. 今天我说课的内容是浙教版七年级数学下册第六章<因式分解>第四节课的内容.因式分解是代数式的一种重要恒等变形,它是学习分式的基础, 又在恒等变形.代数式 ...查看


  • 分组分解法
  • 大连学大教育培训学校 2015年9月19 日初中数学组卷 一.单选题 (每题x分,共3题) 1. 把多项式 A. 答案:A 2. 已知 A. 分解因式,结果是 B. C. D. ,化简B.6 的结果是( ) C. D. 答案:D 22 3. ...查看


  • 不定积分论文
  • 目 录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 关键词„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 Abstract„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 K ...查看


热门内容