Maple在高等代数实验教学中的应用探讨——以一种多项式因式分解方法为例
2021-07-26
来源:榕意旅游网
第32卷第5期 玉林师范学院学报(自然科学) Vo1.32 No.5 兰 生 』 NAL OF YULIN NORMAL UNIVERSITY(Natural Science) Map l e在高等代数实验教学中的应用探讨 ——以一种多项式因式分解方法为例 口李治强’,梁燕来 ,胡源艳 ,易亚利 (1.玉林师范学院计算机科学与工程学院,广西玉林537000;2.玉林师范学院数学与信息 科学学院,广西玉林537000) [摘 要]结合多项式因式分解实例,基于Hap]e软件来求解高等代数实验教学中的问题,如 Newton前差分插值多项式、多项式除法、因式判断、最大公因数等.逐步培养学生利用计算机来 分析和解决代数几何有关问题,提高学生map]e编程能力. 【关键词】Maple;数学实验;多项式;编程能力 [中图分类号]G642.4[文献标识码]A[文章编号]1004—4671(2011)05—0032—05 圜 1算法概述 学实验是未来科学不可缺少的方法之一,对数值处理有着非常重要的作用.在培养学生的教学过 调试,会综合利用Maple语言解决科学计算的问题,利用Maple的数值处理功能,培养和提高学 程中,了解Mapie语言的数据结构、语法及基本数学运算等基础,学 ̄Maple语言的函数编写和 生的编程能力.提高学生运用数学工具解决实际问题的能力.本文仅介绍利用数学软件Maple进行多项式处 理的一种方法,并用来辅助高等代数定性分析教学,以及提高学生的Maple编程能力. 本文基于Kronecker因式分解的基本思想f1】:在有理数域内,任何n次多项式都能经有限此算术运算 分解为不可约多项式的乘积.设f(X)为n次整系数多项式且f(x)=g(X)q(X),则适当调整系数后,可使f(x) 的因式g(X)、q(X)也为整系数多项式.对于整数a,等式f(a)=g(a)q(a)中的g(a)的数值必为f(a)的因数, 由于f(a)的因数是有限个,所以只能得到有限个g(a);设f(X)有k次因式g(X),f(X)在某k+1个点X 、 X 、…、x 处的值分别为f(X。)、f(X )、…、f(x ),再对f(Xi)(其中i:O,1,…,k)进行因式分解,所得的因 数个数为Pi(其中i=O,1,…,k),从f(xi)的因数集中取一个因数,一共有 牛顿插值公式构造多项式g(X),判断所求多项式g(x)是否为f(x)的因式. 若g(x)为整系数多项式且最高项系数不为0, ̄1]flag=l;否 ̄lJflag=O.若flag=l并验证出g(x)是f(x) ・・ 种不同的方法,利用 的因式,则输出g(X),faemon=l,f(X):f(X)/g(X)(即令n=n—k);否则继续构造.若构造的g(x)的次数 k>[n/2]且facmom=O,则f(X)是不可约多项式:若构造的g(X)的次数k>[n/2]且faemom=1,则输出f(X)的最 后一个因式f(x),否则继续构造.其流程图如下: [gz稿日期]201卜o9—14 [基金项目]2010年新世纪广西高等教育教改工程项目“高等代数与解析几何系列课程仿真模拟实验体系的构建与实 践”,编号2010JGB068。 [作者简介]李治强,男,玉林师范学院计算机科学与工程学院讲师,主要研究方向:算法分析与设计、数据挖掘。 32 李治强等 Maple在高等代数实验教学中的应用探讨——以一种多项式因式分解方法为例 2算法分析及实现 2.1 Newton向前差分插值算法 在Kronecker提供的一元多项式因式分解的构造算法中,利用插值基函数很容易得到拉格朗日插值多 项式,公式结构紧凑,在理论分析中甚为方便,但计算量大、没有承袭性质,当需要增加差值节点时, 不得不重新计算所有插值基函数,当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生 变化,这在实际计算中是很不方便的,为了克服这一缺点,本文用牛顿向前差分差值算法I2 代替拉格朗日 算法. 由牛顿插值公式知,为了求得k次因式g(X),须选取K+1个整数点X。,X ,…,x 及其函数值。 通常f xi l较小时f(xi)的值较小,g(xi)的可取范围较小,于是当k为奇数时取x =卜(k+1)/2,Xl=2一 (k+1)/2,…,Xk=(k+1)/2,当k为偶数时取X。=-k/2,Xl=卜k/2,…,Xk=k/2. 33 f 2011年 玉林师范学院学报 第5期 函数f(xi)的因数个数为Pi(其中i=O…k),并存放在数组b中,则有b[1],b[2],b[曩—■■曩一 p。];b[Po+1], b[p。+2],b[p。+p1];…;b[pH+1],b[Pk_l+2],b[pk_l+p ],则共有 ・・ 种不同的取法,可用k+1个循 环遍历每种可能. 牛顿插值通过求各阶差商,递推得到的一个公式: ^ )=,(Xo)+厂(Xo,X1)( — )+,(Xo,. 1,X2)( —‰) — 1)+…+,(x0,X1,…,Xk)( —粕)( _ 1)…( _ 一1) 其中每一项的系数表示为:f(xo, …, )= 娶 . 根据公式需计算的步骤如下: f 1、计算,(Xo),f(x ),…,f(xk) {.I 2.、计算f.… (Xo ),,( 1,X2),…,f(xk-l,Xk) l 计算f(xo, 一, 一1),,( …,xk一1Xk) 【n+l、计算,(x0, 一, ) 牛顿差值公式maple代码如下: >Newtoninsert: pr0c(x::posint,f::posint,n::posint,t::posint) local z:=q0】,s: 1; locali,j,k; for i from 1to n一1 do ofrj from n-1 to i do fIj】:=㈣一1卜fIj】)/(XD一1卜xD】)od;//计算每一项项系数 s: 1: ofr k rfom 0 to i-1 do s:=s (t—x[k】)od; //各项相加 z:=z+s 删; od; collect(z,X,recursive); //合并多项式系数 end proc; 2.2多项式除法与因式判断 计算f除以g的余式,将商式赋值给q的命令格式为:rem(f,P,X,’q’): 计算f除以P的商式,将余式赋值给r的命令格式为:quo(f,P,x,’r’): 余式和商式满足:f=p q+r,其中degree(r,x)<degree(P,X) > =x 5+x 3+x://多项式由名称、整数和其他Maple值,通过+、一、木和 等组合而成. >rem(f,x+l,X, q); >quo(x 3+x 2+x+1,x一1,X,’ >ifrem(f,g,X,’q’)=0 then printf(g is one ofthe factors”) else prinff(ifnd continue) end it2 2.3提取公因数 求系数的最大公因数,使其系数互质,减小因式分解的复杂度.提l ̄fqb变量x的所有系数并将相应的 x幂存于变量t中:coeffs(p,X,’t’); >a:=coeffs(f,X,’t’); 口:=5,2,3,2,1 >t=a[1】 t[1]+a[2】 t[2]+a[3】 t[3】+a[4】 t[4]+a[5】 t[5]; ,:= + + 十 2.4求多项式系数的最小值 李治强等 Maple; ̄E高等代数实验教学中的应用探讨一以一种多项式因式分解方法为例 >Minimum: proc() local r,i; r:=args[1]; for i from 2 to nargs do ifargs[i]<r then r: args[i】 end iif od; r: end proc; >b:=Minimum(a) //调用过程函数Minimum 2.5定义数组和求数的因子 求一个数的所有因子,并存在一维数组b中.假设b:=Array(1..10000),maple程序如下: >p: 0 >count: U: >Numberfactor: proc(x) locali,j; b:=Array(1..10000); orf i from 1 to lfoor(sqrt(x))do ifrem(x,i)=0 then do //寻找X的所有因子 //对数组的第P个元素赋值为i b[p】: i; b【p+1】: 一i; b[p+2】: x/i; b【p+3】: 一x/i; p: p+4; j:_j+4; end do; end iif enddo; pcount:-_j; count:=count+1: end proc; //记录第i个数的因子个数 3结束语 探讨了利用maple软件进行高等代数实验教学的一个新尝试.在实验教学过程中,了解Maple语言的语 法、函数、程序编写及其调试过程,会综合利用Maple数值处理功能解决高等代数问题.本文仅以一种多 项式因式分解方法为例,探讨了利用Maple进行多项式处理一种方法,并用来辅助高等代数定性分析教 学,逐步培养和提高学生利用maple语言编程能力,以及分析和解决代数几何有关问题的能力. ■ The Application of Maple S oftware in Higher Algebra Exp eriment Teaching ——Take A Method of Polynomial Decomposition as an Example LI Zhi—qiang ,LIANG Yan—lai ,HU Yuan—yan 。YI Ya—li j 2011年 玉林师范学院学报 第5期 (1.School of Computer Science&Engineering,Yulin Normal University,Yulin,Guangxi 537000;2.School of Mathematic&Information Science,Yufin Normal Universiy,Yuftin,Guangxi 537000) 曩 ■■量, Abstract:According to polynomial factoring decomposition exampleswe discuss the application of Maple software in Higher Algebra and Analy tic Geometry,such as Newton forward diference interpolationpolynomial division, ,factoring judgment and most common factor.How to use computers to train the students’analytical and problem- solving abiliy tgradually is lsao discussed. Key words:maple;mathematics experiment;polynomial;programming capabilities 【参考文献】 [1]赵振威.中学数学教材教法(第二分册),初等代数研 究[M].华东师范大学出版社,1990,83 ̄84.法[J].西南师范大学学报(自然科学版),2000,25(3): L221 ̄224. [2]关冶.数值计算方法[M].清华大学出版社,1989. [3]王绍恒,许明春.判断一类最值问题可解性的计算机算 [4]陈志杰.高等代数与解析几何[M].北京:高等教育出 版社,2000. 【责任编辑 谢文海】 (上接第31页) 养统计学创新型人才的教学改革,提出了建立统计学科教学与科研团队、修正不合理的课程设置、以灵 活的方式设置实验时数的建议.教学实践表明这些建议有利于培养统计学创新型人才. 一 Exploration of Teaching System on the Cultivation of Innovative Statistics Talents oU Shi-de (School of Mathematics&Information Science,Yulin Normal Universiy,Yultin,Guangxi 537000) Abstract:In order to carry more innovative statisitcs talents to society based on the exisitng results of teaching research and teaching experiences,this paper explores the teaching reforms of cultivating innovative statistics talents. Teaching practice shows that the suggesitons igven in this paper are helpful to cultivate innovative statistics tlaenu. Key words:statistics;innovative tlaent;teaching reform 【参考文献】 [1]吕洁华,姜钰.基于创新型人才培养的统计学教学模式 [5]邹永红.统计学本科教育中的创新人才培养[J].统计教 育,2007,(4):31—32. 构建[J].统计与咨询,2010,(2):29—30. [2]孙亚静.创新型人才培养模式下实践教学改革研究[J]. 统计教育,2007,(1O):29—30. [6]曲波,郭海强,任继萍,等.有利于科研创新能力培 养的卫生统计教学方法探讨[J].中国高等医学教育, 2006,(6):65—66. [3]余华银,宋马林.互动式教学:培养统计创新型人才的 有效途径[-I].安徽职业技术学院学报,2008,7(3):73—77. 『41王文博.面向21世纪中国高等统计教育发展的基本趋势 与战略选择[J].统计与信息论坛,2000,15(2):10—13. [7]吴喜之.统计学:从数据到结论[M].北京:中国统计出 版社,2008. 【责任编辑 潘琰佩】 36