Maple中的多项式是含有未知量的表达式,多项式的每一项是未知量的乘积.
多项式的相关定义与数学学科中的定义一致,需要注意的是,多项式的系数可以是整数、有理数、无理数、浮点数、复数乃至其他变量,这点Maple做的还是很好的,做到了很多的兼容,且与数学中最接近,这是其他编程语言所达不到的.
多项式是最简单的表达式,复杂的表达式都是以多项式为基础构造出来的.在Maple系统中有大量的命令去处理多项式.而且大部分的命令都属于Maple的核心,这是因为处理多项式的命令在Maple语言中使用的特别频繁,因此Maple系统需要以极快的速度完成计算.下面我们将分别讨论一部分处理多项式的命令
4.1.3次数与系数
degree和coeff命令可以分别对多项式的次数以及待定项系数
ldegree还可以求出最低次项的次数
使用lcoeff和tcoeff可以分别求出多项式的首项系数和尾项系数.而coeffs命令则可以求出多项式所有的系数,不过它产生的序列不一定是按照升降幂顺序排列的(这个问题在2023的版本中已经是按照升降幂顺序排列的了),因此还应该使用第三个参数来得到相应的单项式(在新版本中看似没什么必要了)
需要说明的是,在MapleV版本中,求一个多项式的系数之前应该先合并同类项,否则coeff命令也会得到错误的结果,下图中第一次输出应该是-1-n,但是新版本中,也就是从Maple6之后的所有版本中都没了这个问题.
另外,这里说一个小技巧,在每次输出结果后面都会附带一个如(3.12)的尾标,每当我们双击这个标的时候,可以在下一步的输出中添加这个输出结果,还是很方便的
4.1.4因式分解
在代数中一个非常重要的算法是求两个正整数的最大公因数的Euclid算法,应用该算法同样可以求两个一元多项式的最大公因式.由于许多数学算法都要用到最大公因式算法,因此数学家们对Euclid算法进行了很多的改进.现在符号计算系统所提供的最大公因式算法比传统的Euclid算法快了很多,在Maple中计算最大公因式的命令是gcd.
当我在搜索gcd命令的用法时候,
有这个Math Apps的选项,里面有对Euclid算法的详细介绍
一个更为复杂的算法是多项式因子分解算法,factor命令可以有理系数的多项式分解为有理数域上的不可约多项式的乘积.就和我们在《高等代数》中所学习的多项式内容是一致的
同样分解因式的计算不仅可以在有理数域上进行也可以在其他数域上,例如有限域、代数扩域、函数域以及各种整环上进行.下面我们举例说明: