| Maple简介 |
|
| 作者:zhulingj… 文章来源:本站原创 点击数: 更新时间:2008-3-18 |
|
|
MAPLE是由加拿大WATERLOO大学发展起来的一种数学软件,由于其无与伦比的符号计算能力,使得MAPLE在符号计算的数学软件中独领风骚。无论是在学生中广为流传的MATHCAD还是MATLAB在符号计算方面都得借助于MAPLE的威力。MATLAB虽然自身有一定的符号运算能力,但较MAPLE要弱一些。MATLAB能够和MAPLE方便地连接,把符号计算的工作转给MAPLE去完成。
符号计算的魅力在于:对于给定的问题、计算机给出的结果为没有任何误差的解析解。比如计算结果为1/3,经符号计算后决不会显示0.33333333。符号计算和数值计算是完全不同的两个方面。
MAPLE最突出的功能为其符号计算。MAPLE提供了2000多个数学函数,其范围涉及数学的各个分支:基本代数、欧氏几何学、数论、有理函数、微积分、微分方程、图形学、线性代数、离散数学、群论等等。
MAPLE在数值计算和数据可视化方面也有较强的能力。和MATLAB相比,MAPLE的数学计算另有特色,MAPLE能把所求的解析解转换成任意精度的数值解。对那些没有最终解析解的问题,MAPLE能从中间解析解开始计算数值解。这将缩短误差的传递途径,从而提高解的精度。
MAPLE的第一个商业版本MAPLE3.3是1985年出版的。随后几经更新,到1992年,WINDOWS操作系统下的MAPLE V RELEASE2(即5.2版)面世后,MAPLE被广泛地使用,得到越来越多的用户。特别是1994年,MAPLE VR3出版后,兴起了MAPLE热。1996年初,MAPLE VR4出版。1998年初,MAPLE VR5出版。现在最新版本是MAPLE VR6。
MAPLE软件主要由三部分组成:用户界面(Iris)、代数运算器(Kernel)、外部函数库(External Library)。用户界面和代数运算器是用C语言写成的,只占整个软件的一小部分,当系统启动时,即被装入。Iris负责输入命令和算式的初步处理、显示结果、函数图象的显示等。Kernel负责输入的编译、基本的代数运算,如有理数运算、初等代数运算,Kernel还负责内存的管理。MAPLE的大部分数学函数和过程是用MAPLE自身的语言写成的,存于外部函数库中。当一个函数被调用时,在多数情况下,MAPLE会自动将该函数的过程调入内存,一些不常用的函数才需要用户自己将它们调入,另外有一些特别的函数包也需要用户自己调入,如线性代数包、统计包。这使得MAPLE在资源的利用上具有很大优势,只有最有用的东西才留驻内存,这是MAPLE可以在较小内存的计算机上正常运行的原因。
MAPLE语言是一种结构良好、方便实用的高级语言。它支持多种数据结构,如函数、序列、集合、列表、数组、表。它包含许多数据操作命令,如类型检验、选择、组合,用户可以查看MAPLE的非内部函数的源程序,用户也可以将自己编写的函数过程加到MAPLE的程序库中,或建立自己的函数库。MAPLE的最大好处在于它的界面非常友好。WINDOWS操作系统下的MAPLE更容易学习和使用,而且有很好的帮助系统,多数函数的调用命令与该函数的名字相同,容易记忆。再之,MAPLE有一定的决策能力。在一些情况下,MAPLE可以选择合适的算法。
符号代数演算系统MAPLE V 概述
一、我国符号代数演算之十年(1981-1991)回顾
70年代末,陈东岳曾设计和实现类似于LISP的FCY语言,著名数学家陆启铿作多项式代数程序,四川大学研究核物理的学者用FCY作轻质量的核碰撞计算而达当时外界的先进水平,成为计算机科学、数学、物理学家合作研究的典范。
80年代初,我国数学家在中科院数学研究所移植成功算法描述语言ALDES和符号代数演算系统SAC-2(Collins代数)。后它们有益于著名数学家王湘浩和吴文俊的博士生们的学习和 研究。
同期著名物理学家郝柏林等移植成功REDUCE,成功用于光谱分析等方面的计算物理研究。衷仁保教授坚持符号代数系统研制,曾出国产系统。特别是著名数学家吴文俊研究数学定理机械化证明,创造吴方法,深入而广泛地应用符号代数演算。在理论及实践上均创造出优异成就。
近年来,中科院北京天文台,北京大学、清华大学的物理研究者在VAX上移植成功MACSYMA,成功用于天体物理研究。同时从事计算数学的专家又指出,数值计算可对问题作定量解,而符号计算可对问题作定性解,两者结合必将有利于问题的解,于是符号代数进入了计算数学,丰富了科学计算。
上述这些,研究受限于数学家、物理学家的范围,难于普及。而近年数学的计算机辅助教学的兴起和发展,符号代数将进入大学理工科数学教育的课堂,从此它走向了普及。在这方面北大、清华的数学教授们走在了前列。
总之十几年过去了,我们在符号代数系统研制上虽有所努力,但难于成就,而应用上则从数学家和物理学家的范围走向了大学数学教育,在此背景下,介绍一下1991年外界推出的符号代数系统MAPLE V,我们想是有用的。
二、1991年问世的MAPLE V概述
MAPLE系统由加拿大安大略滑铁卢大学的符号计算组设计及实现,其深化研制工作仍在进行,我所数论研究室的王连祥教授亦在加为此工作。1980年秋,该小组的学者们研讨了符号代数演算的现状。认为那时流传于世的ALTRAN、CAMAL、REDUCE和MACSYMA等符号代数系统,其设计均以60年代的计算技术为基础,难于扩充其功能 满足现代计算机的软件和硬件环境。因而他们决计重新设计与实现新的系统来适应软件工程所达到的先进水平,从而1991年便推出了MAPLE V。
MAPLE的基本成分以高效的程序语言写成,它的主要部分即系统的多数代数功能用高级用户语言写成,因此基本系统在主存中仅占2兆;库函数则是依用户的使用要求再加入内存,这样依使用的实际情况而占用内存资源。系统核心部分用宏语言写成,它可由宏处理程序译为适合于多种操作系统的C程序,因而MAPLE有良好的可移植性。
MAPLE是一种数学操作语言,它提供的计算类型可从“代数操作”,“符号演算”,“计算机代数”等类名词而知。这类语言的基本特性是可让计算的元素不求值,其相应特性则能将含有未求值元素的表达式化简及作其它变换。例如:
>f:=x^3-y^3;f:=x3-y3
>factor(f);(x-y)(x2+xy+y2)
在传统语言里,f为变量,被赋值,x,y为未知数,没有值。
在MAPLE里,语句尽可能在当前环境演算,例如:
a:=1;将值1赋给a,若随后有语句:
x:=a+b;则将值1+b赋给x,若随后有语句:
b:=-1:f:=sin(x);则x算得为0,0赋给f,若最后有语句:
b:=0;g:=sin(x);则x算得为1,sin(1)赋给g,sin(1)未求值。
综上所述,MAPLE是一种符号处理语言,同时又是一个数学家系统。由于文字的限制,我们既不能细讲其语言特色,又不能细讲其数学算法。于是我们只能分门别类给点例子,讲述一下MAPLE的数学功能,给读者一个入门的介绍。
|