引 论代数学是数学的一个基本分支,是其他数学分支的基础。它所处理和研究的数学对象是抽象的代数符号与概念,如整数.有理数.多项式.理想等。计算机代数是以计算机为工具处理研究代数对象的一门新兴科学。它是符号计算的一个主要分支。代数算法的设计.分析.实现及应用构成了计算机代数的主要研究内容代数计算冗长繁复。常常让人望而生畏。传统的笔纸演算耗时费力又易出错,因而不可能用于大规模的计算。现代计算技术为大型符号计算提供了条件。于是如何将基本代数理论算法化.精确化.效率化,如何将有效的算法在计算机上有小弟实施,建立完整易用的软件系统,并用来处理形形色色的代数计算就是需要研究的问题。对这些问题的研究便形成了计算机代数这门科学。本综合报告的内容将就这门学科的多项式部分进行简单的研究与分析,Maple软件的介绍及在多项式方面的应用.摘 要计算机代数的发展始于20世纪60年代初期。其标志是美国在1961年用表处理语言Lisp所写的第一个自动积分程序SAINT。随后,几个基于Fortran和Lisp的符号计算系统,如PM,MATHLAB,ALPAK等,相继出现。这些早期的系统主要在美国的麻雀理工学院.贝尔实验室和IBM公司研制开发的。现在,已有多种数学软件供我们使用,是我们可以应用计算机软件辅助进行数学包括高等代数的学习.研究.,而不只靠纸笔演算了。软件系统是计算机代数中的算法和应用的桥梁。先进的算法只有通过软件才能在应用中发挥其应有的效力和作用。利用日新月异的计算机硬件和技术所开发的高性能.多功能.简单易用的软件已逐渐是大量的数学研究.教学赫英勇走向机械化.自动化和计算机化。数学软件是指能在现代电子计算机上运行的程序和储存的数据,它们可以用来在计算机上表示和处理数学概念.符号和知识,进行数学计算.推理.编程和绘图数学活动。数学软件是各种算法和策略在特定程序设计语言和计算机硬件上的具体实现。数学软件的种类繁多.功能不一。知识处理软件:TEX/LATEX,MathML。数值计算软件:LAPACK,Matlab。符号计算软件:Maple,Mathematica.绘图与视化软件:AutoCAD, 求解多项式一多项式的介绍1. 多项式的定义定义1 数环R上一个文字x的多项式或一元多项式指的是形式表达式 ⑴ ... ,这里n是非负整数而 , , ,..., 都是R中的数。 在多项式⑴中, 叫做零次项或常数项, 叫做一次项,一般, 叫做i次项, 叫做i次项的系数。定义2 若是数环R上两个一元多项式 f(x)和g(x)有完全相同的项,或者只差一些系数为零的项,那么f(x)和g(x)就说是相等f(x)=g(x)⑵ ... , 定义3 叫做多项式⑵的最高次项。非负整数n叫做多项式⑵的次数。二多项式的运算根据以上定义,R上两个多项式f(x),g(x)的和.差.积的系数都可以用f(x)和g(x)的系数的和.差.积表示出来。由于f(x)和g(x)的系数都属于数环R,所以它们的和.差.积也都属于R,所以R上两个多项式的和.差.积仍是R上的多项式。1. 加法交换律:f(x)+g(x)=g(x)+f(x)2. 加法结合律:(f(x)+g(x))+h(x)=f(x)+(g(x)+h(x))3. 乘法交换律:f(x)g(x)=g(x)f(x)4. 乘法结合律:(f(x)g(x))h(x)=f(x)(g(x)h(x))5. 乘法对加法的分配律:f(x)(g(x)+h(x))=f(x)g(x)+f(x)h(x)三多项式的定理定理1.设f(x)和g(x)是数环R上两个多项式,并且f(x) 0,g(x) 0.那么(i) 当f(x)+g(x) 0时。 (f(x)+g(x))) max( (f(x)), (g(x)));(ii) (f(x)g(x))= (f(x))+ (g(x)).推论1:f(x)g(x)=0必要且只要f(x)和g(x)中至少有一个是零多项式。推论2:若是f(x)g(x)=f(x)h(x),且f(x) 0,那么g(x)=h(x).四多项式的整除性定义 令f(x)和g(x)是数域F上多项式环F[x]的两个多项式。如果存在F[x]的多项式h(x),使 g(x)=f(x)h(x),我们就说,f(x)整除(能除尽)g(x)我们用符号f(x)|g(x)表示f(x)整除g(x),用符号f(x)| g(x)表示f(x)不能整除g(x)。五多项式整除性的一些基本性质① 如果f(x)|g(x),g(x)|h(x),那么f(x)|h(x).② 如果h(x)|f(x),h(x)|g(x),那么h(x)|(f(x) g(x))③ 如果h(x)|f(x),那么对于F[x]中任意多项式g(x)来说,h(x)|f(x)g(x).④ 如果h(x)| (x),i=1,2,...,t,那么对F[x]中任意 (x),i=1,2,...,t,h(x)|( (x) (x) (x) (x) ... (x) (x))⑤ 零次多项式,也就是F中不等于零的数,整除任一多项式。⑥ 每一个多项式f(x)都能被cf(x)整除,这里c是F中任一不等于零的数。事实上,f(x)= (cf(x)).⑦ 如果f(x)|g(x),g(x)|f(x),那么f(x)=cg(x),这里c是F中一个不等于零的数。 Maple的介绍 (1)Maple概略Maple是主要的通用计算机代数系统。它都是流行的商业软件,并且能在多种操作系统下运行。Maple是一个用于解决各种数学问题的高效.交互式.容易使用的通用计算机代数系统.它为科学工作者.工程师.教师和学生提供了一个可以用来处理代数表达式,进行符号与数值计算,用二维和三维图形和动画来视化数学对象的完整数学平台。Maple不仅有非常丰富的函数库,而且提供了高级数学编程语言。它可以在微软视窗.等操作系统下运行。如今,Maple已被广泛用于数学.密码学.控制论.物理学.生物学.商学.经济学和工程技术,是众多高等院校科学和工程实验室的标准科研与教学工具,它的用户遍及全球。(2)Maple计算Maple中有3000多个用于符号与数值计算的函数,它们为解决各种数学问题提供了极大的灵活性。这些函数能进行的计算包括标准的数学运算如整数运算.多项式运算.积分.微分.求和.求积.解方程.级数展开和极限计算等,以及其他专门数学领域中的特殊函数。(3)Maple界面Maple结合了强大的数学计算功能与先进直接的界面。计算.结果.图形和文字在同一份文档中显示,因而可以保存和注解计算步骤,之后还可以编辑修改并直接运行其中的Maple指令。Maple使用标准的数学记号,因此屏幕上显示的数学和我们在书本上看到的数学一样。这使得学生能够很容易地解释和检查所得的表达式。Maple还提供了几种使用鼠标键入和求值表达式的方式。内容敏感的选项单让用户不需学习编程语言的语法.不必记忆指令名称就能使用Maple处理它所产生的数学对象。Maple还集成了NAG的数值计算程序库,并与数值计算软件Matlab有接口。(4)Maple编程除丰富的指令函数外,Maple还提供了一种高级程序设计语言。这种易学易用的语言能让用户通过添加自己的程序来扩充Maple的函数和功能。Maple 求解多项式例1:下面是一个 ,..., 的整系数多项式F= + - - + +3 .不难看出coef(F, )=-1,coef(F, )=0deg(F, )=1,deg(F, )=2,tdeg(F)=3,切F不是齐次的。设 Q= 为任一多项式。定义P与Q的和为P+Q:= ,其中( ,..., ),...,( ,..., )是( ,..., ),...,( ,..., ),( ,..., ),...,( ,..., )中所有互不相同的n元组,而 有构造n元组 u=1,...,t;v=1,...,s,并令( ,..., ),...,( ,..., )为它们中所有互不相同者。定义P与Q的积为P•Q:= ,其中 例2:考虑多项式F= +1,G= 关于y,相应的R和Q可如下计算: 由此即得 简化得 符号计算系统的最基本功能是处理符号表达式,多项式则是最基本的符号表达式。从下面的例子中可以看到Maple可以用各种方式处理多项式.三角表达式.指数与对数等数学表达式。>factor(x^4+2*x^3-12*x^2+40*x-64); (x-2)( )>expand((x+1)^5); >simplify(exp(x*(log(y))); >simplify(sin(x)^2+cos(x)^2); 1>expand((x^2-a)^3*(x+b-1)); >expand(cos(4*x)+4*cos(2*x)+3,trig); 8 >combine(4*cos(x)^3,trig); cos(3x)+3cos(x)总结:随着计算机与数学的发展,计算机软件与数学研究已密不可分。无论是maple还是matlab等等,学习数学都将越来越简单化!参考文献:《Maple教程》 何青 王丽芳编著 科学出版社,2006《计算机代数》王东明 夏壁灿 李子明编著清华大学出版社, 2007《Maple经典》何青 王丽芳 袁荣译高等教育出版社, 2002