计算机数学实验技术.ppt
计算机数学实验技术,数学软件Maple 及其应用,涪陵师范学院数学系 周均,数学软件Maple是当今流行的计算机代数系统之一,最新版本被称为世界上第一种综合分析计算系统,它具有良好的使用环境、强有力的符号计算能力,高精度的数字计算,灵活的图形显示和高效的可编程功能。,*计算机代数系统及其特点,*计算机数学软件Maple的发展历史,*Maple软件的组成,*Maple软件的应用,1 计算机代数系统,计算机及相应软件的迅速发展,已经把人类带进了以网络、计算机、数码、光纤、多媒体为主要标志的信息时代。,在工业时代,人要解放自己的双手,而在信息时代,人们要解放的是自己的大脑。,今天,计算机的应用早已远远超出人们通常用“计算”这个词所描述的范围。,计算机在各种非数值计算方面的工作帮助人们解决了各个方面的难题。,功能强大的计算机系统不仅是工程设计、经营管理不可缺少的助手,也已经成为科学研究工作者手中的有力武器。,计算机的真正威力在于它进行科学计算的能力,数学为计算机科学的发展起了重要作用。,计算机科学的发展也产生了巨大的推动作用,它使数学这个最古老的科学又充满了生机。,人们又开始意识到数学的重要性,因为数学正在通过计算机这个媒体向社会的各个领域渗透,它在各个领域的技术变更中起着重要作用。,计算机科学使数学研究的方式和数学教育的模式正在发生一场变革,这种变革的特点是数学实验。,什么是计算机数学实验?,就是用计算机代替笔和纸以及人的部分脑力劳动进行数学的运算,它包括:数学论文的智能化文字处理、科学计算及推推断证明猜想等。,数学实验的环境是计算机和数学软件。,理想的数学实验环境是与国际互连网连接的高性能计算机系统加上多种不同用途的计算机数学软件。,数学实验是一项新的方法和技术,它可以使我们的数学技能有很大的提高,使我们对数学更加充满信心。,科学计算分为两类:一类是纯数字的计算;另一类计算是符号计算,又称代数运算,这是一种智能化的计算,处理的是符号。,符号运算是在代数的规则下进行的数学处理,运算主要是寻求数学问题的一个简单完美的公式解答。例如多项式的因式分解、函数的求导、求积分、解方程、公式化简、群的表示等等。,通常在数学的教学和研究中用笔和纸进行的数学运算多为符号运算。,符号计算软件Maple、Mathematica和Matlab等。由于这些软件较之其他软件用到更多的数学知识(主要是代数),其所处理的对象也多与数学有关,人们通常又称其为计算机代数或符号计算。,计算机代数是计算机科学的一部分,它关注代数算法的设计、分析、实现和应用。,计算机代数受到日益广泛的重视,一个很根本的原因就是科学界对于计算机代数系统和符号计算的能力持续不断的需求。,计算机代数是数学(指某些领域,如代数、计算数学)和计算机科学交叉发展的产物,因此涉足这一领域需要有这两门科学的相关方向的良好训练。,用计算机进行符号和代数运算是数学和计算机领域的一个新的发展方向。,长期以来,人们一直盼望有一个可以进行符号计算的计算机代数系统。,早在20世纪50年代末,人们就开始了这项研究。,进入80年代以后,随着计算机的普及和人工智能的发展,用计算机进行代数运算的研究在国外发展非常迅速,涉及的数学领域也在不断扩大,相继出现了功能齐全的计算机代数系统,这些系统可以分为专用系统和通用系统。,专用系统主要是为解决物理、数学和其他科学分支中的某些计算问题而设计的,专用系统在符号和数据结构上都适用于相应的领域,而且多数是用低级语言写成的,使用方便,计算速度快,在专业问题的研究中起着重要的作用。,通用系统具有多种数据结构和丰富的数学函数,应用范围广泛。,REDUCE、Mathematica和Maple是用户较为广泛的通用数学软件。,最近的代数系统都是用C语言写成的,这种语言为软件开发者提供了编写有效的可移植的计算机程序的平台,所以这种计算机代数系统可以在大多数机器上使用。,Mathematica和Maple就是这样的系统。,Mathematica是第一个将符号计算、数值计算和图形显示很好的结合在一起的数学软件,用户能够方便地用它进行多种形式的数学处理。,Maple是80年代初就开始研制的计算机代数系统,起初并不为人们所注意,但这个软件后来发展很快。自从1992年MapleVR2出版后,更多的用户就发现它是一个功能强大而且界面友好的计算机代数系统。,2 计算机代数系统的特点,计算机代数系统各不相同,不同的数学软件之间有较大区别,但也有一些共同的特点。,第1个特点是可以进行符号运算、数值运算和图形显示,这是通用数学软件的三大基本功能,具有高度的可编程功能。,第2个特点是多数计算机系统都是交互式的,人们通过键盘输入命令,计算机计算后显示结果。好的系统都有Windows操作系统下的版本,人机界面友好,命令输入方便灵活,很容易寻求帮助。结果的显示或输出有多种形式,好的数学软件都提供了人们习惯的数学符号表达形式。,第3个特点是各个系统都在不断地发展完善,不断地更新换代,更新的速度也在逐渐加快。数学软件在向智能化、自动化方向发展。数学软件的实质是数学方法及其算法在计算机上的实现,这些方法是几百年来无数数学家工作和智慧的结晶。,第4个特点是参与软件开发和应用的人员的数量不断增加,而且日趋国际化。随着Internet的普及,软件用户可以很方便地于软件开发者进行沟通,反映软件中存在的问题,也把新的应用情况和好的程序提供给软件的开发者。软件的开发不再只是开发者的事情,也是广大用户的事情。,计算机代代数系统的优越性主要在于它能够进行大规模的代数运算。通常我们用笔和纸进行代数运算只能处理符号较少的算式,当算式的符号个数上升到百位数后,手工计算变成为可能而不可行的事,主要原因是在做大量符号运算时,我们很容易出错,并且缺乏足够的耐心。,当算式的符号个数上升到四位数后,手工计算便成为不可能的事,这时用计算机代数系统进行运算就可以做到准确、快捷、有效。,3 计算机数学软件Maple,Maple是当今流行的计算机代数系统之一,它是加拿大(Canadian)Keith Geddes和Gaston Gonnot教授于1980年在滑铁卢(Waterloo)大学开始设计开发的用于科研和教育的数学软件,最初版本只用了大约3周时间就完成了,并以加拿大国树枫叶(Maple)命名。在赞助者的推动下,大约在1982、1983年左右,Maple被推广到美国和欧洲一些大学,应用的领域扩展到数学、计算机科学、物理、经济和工程等。,Maple开始用B语言编写成,但很快转用C语言。,Maple的第一个商业版本Maple3.3 是1985年出版的。,1992年,Windows 操作系统下的 Maple Release2(即5.2版)面世后,Maple被广泛地使用,得到越来越多的用户。,1994年,Maple R3 出版后,兴起了Maple 热。该版本的显著特征是提高了符号和数值运算的算法、用户界面简单、工作页可输出为LaTeX格式、新的联机帮助系统和一种扩展的可编程的语言。,1995年针对Microsoft Word6.0的MathOffice开始发布,它为将Maple R3 的计算结果和图形输入到Word 文件提供了界面。,1996年初,Maple R4 出版。,1998年初,Maple R5 出版。,1999年12月6日,Waterloo Maple Inc.发布世界上第一种综合分析计算系统 Maple R6。,2000年2月,Waterloo 开始向用户提供Windows、Macintosh、UNIX和Linux系统环境的Maple R6。,2000年4月,Waterloo 开始提供适合学校使用的学生版本。,目前,它仍是一个正在研究的项目。,2002年初,Maple R8 出版。,2001年初,Maple R7 出版。,Maple软件主要由三部分组成:,用户界面(Iris),代数运算器(Kernel),外部函数库(External library)。,Iris和Kernel是用C语言写成的,只占整个软件的一小部分,当系统启动时,即被装入。,Iris负责输入命令和算式的初步处理、显示结果、函数图形的显示等。在MS-Windows等操作系统中,提供称为工作页(worksheets)的界面。,Kernel负责输入的编译、基本的代数运算,如有理数的运算、初等代数运算,Kernel还负责内存的管理。,Maple的大部分数学函数和过程是用Maple自身的语言写成的,存于外部函数库中,当一个函数被调用时,在大多数情况下,Maple会自动将该函数的过程调入内存,一些不常用的函数才需要用户自已调入。,另外一些特别的函数包也需要用户自已调入,如线性代数、优化、统计包,这使得Maple在资源的利用上具有很大优势,只有最有用的东西才留驻内存,这是Maple可以在较小内存的计算机上正常运行的原因。,Maple语言是一种结构良好、方便实用的高级语言,它支持多种数据结构,如函数、序列、集合、列表、数组、表,它包含许多数据操作命令,如类型检验、选择、组合。,用户可以查看Maple的非内部函数的源程序,用户也可以将自已编的函数、过程加到Maple的程序库中,或建立自已函数库。,Maple的最大的好处在于它的界面非常友好,Windows操作系统下的Maple更容易学习和使用,而且有很好的帮助系统。,多数函数的调用命令与该函数的名字相同,容易记忆。,Maple还有一定的决策能力,在一些情况下Maple可以选择合适的算法。,Maple是一种符号运算系统,与传统的数学软件相比较,它不仅能够进行数值运算,而且还可以进行符号运算。Maple在符号运算型数学软件中独领风骚,无论是MathCAD还是Matlab,在符号运算方面都得借助于Maple的巨大威力。,Maple的符号运算能力是很有用的,例如在求解积分、微分方程和线性方程组等等的许多数学问题时,利用Maple则可以得到问题的解析解。除此以外,Maple还提供了丰富的图形处理方法,数值处理方法以及完善的编程环境。,Maple的界面简洁友好,含有一张工作页,利用其界面,用户可以很方便、很容易地使用Maple强大的数学功能;,同时,用户也可以利用工作页发掘数学思想和撰写科技论文。因此,Maple的用户遍及各行各业。,在工业、农业和航天领域中,技术人员使用Maple可以快速地解决数学问题,进行设计、规划,还可以把Maple的计算过程溶于报告之中。,Maple逐渐取代了许多传统工具,比如参考书、计算器、表格以及Fortran之类的编程语言,成为他们的新宠。,很多研究人员发现Maple是进行建模、求解和研究的理想工具,它的符号处理能力极大的拓宽了处理问题的范围。在这些研究人员眼中,Maple是他们工作的必备工具。,此外,学者使用Maple制作漂亮的演讲稿;高等学府的老师使用Maple讲解生动的数学实验,学生使用Maple处理烦琐的计算,因此可以把精力集中于重要概念的学习。,用户使用Maple的方式千差万别,其中主要有两种方式:,第一种方式是把Maple当作交互的问题求解环境。在过去,求解一个问题需要人在不断思考的同时还要不断地在纸上演算、记录;按照这种方式,求解一个问题往往要花费很多的时间和很多的纸张。若采用Maple则省事多了,它会自动记录求解的每一个步骤,同时允许用户随意修改这些步骤和插入新的步骤,而后Maple就会准确地计算出结果。总之,不论是建立数学模型,还是分析经济策略,用户都能够从烦琐的计算中解脱出来,因而能够很快很轻松地从问题里学到很多东西。,第二种方式是把Maple当作撰写科技论文的工具。通过Maple,用户能够组织交互结构的文档(这种文档中的数学表达式可以随时更改,计算结果会随着自动更新,图形的显示也可以随意控制)。而且通过样式、纲要和超级链接等工具可以轻松地制作出清晰易读的文章。另外,还可以把由Maple制作的内容转变为其他格式的文档,比如Latex或HTML等等。,Maple的交互特征允许用户在演示中能够实时进行计算和回答问题,可以生动形象地解释为什么一个看似正确的方法却是错的,或者为什么对生产过程稍作修改便会导致亏损或者盈利。,总之,Maple是一个功能强大、容易掌握、不断发展的计算机数学软件。有了良好的数学基础加上Maple就能使你如虎添翼,有能力和信心去解决各种各样的数学计算问题。,