计算机代数式系统Maxima入门指引

最近接触了一些开源数学软件,如相当于Matlab的OctaveScilab,以及相当于Maple或Mathematica的Maxima。尤其是对于Maxima,可能受够了以前手工推导公式的艰辛,用上以后有点爱不释手的感觉。好东西不敢独享,现在把它介绍给大家,并写一点简单的入门指引。

关于Maxima

Maxima是一个计算机代数系统(Computer Algebra System),使用Lisp语言编写,并在GUN通用公共许可证下发行,因此是一款自由软件。该软件的前身是由美国麻省理工学院(MIT)于1968年至1982年开发的Macsyma。1982年,麻省理工学院将Macsyma的一个源代码副本移交给美国能源部(DOE),该版本即称作DOE Macsyma。从1982年开始,DOE Macsyma的一个副本由美国德克萨斯大学的William F. Schelter教授维护,并且一直维护到他2001年病逝。在1998年,Schelter得到了美国能源部的授权,在GUN通用公共许可证下发布了他维护的DOE Macsyma的源代码。2000年,他在SourceForge网站发起了旨在维护和开发DOE Macsyma的Maxima项目,现在该软件被称为Maxima。尽管Schelter教授已经在2001年去世,不过Maxima已经正式称为合法的开源软件,因此陆续有用户和开发者投入到Maxima的开发推广工作中。

当然,相比于Maple、Mathematica等商业计算机代数系统,Maxima可能不是最好的,但它对于我们中的大部分人已经足够用了。它的帮助文档已经达到900多页,这或许能说明它的功能已经足够丰富了。何况,该软件是自由软件,这就不会像使用其他盗版软件那样,内心总有一点不安。因此,如果大家决心要掌握一个计算机代数系统的话,我向大家首推Maxima。这是一个体积不算非常庞大的软件,大家可以把它装在自己的电脑里,先把基本的操作掌握,如果有需要的话,可以查一些相关的文档和示例,相信大家很快就能用它完成相应的任务了。

下载和安装

以下链接指向Maxima的下载页面,请根据自己的操作系统类型进行下载:
http://sourceforge.net/projects/maxima/files/
如果你的操作系统为Windows,则下载相应的安装包后,直接下载的可执行文件就开始安装了,安装过程唯一可说的就是在选择组件窗口中可以把一些不必要的语言包的选择给取消了。

前端界面

wxMaxima软件界面

Maxima默认界面只是一个命令行的纯文本界面,通过“开始”>“所有程序”>“Maxima”>“Command line Maxima”即可进入该界面。此界面不够美观方便,但输出的公式能以纯文本方式显示且基本上保持其可读性。除了默认的命令行文本界面外,Maxima还有许多的图形界面前端,如TeXmacs、Imaxima、LyX、wxMaxima、Xmaxima和Sage等。这些界面程序有些是专门针对Maxima而编写的,有些是通过在已有的流行的编辑器中预留接口,从而能调用Maxima的计算功能。根据本人的试用体验,感觉最方便使用的图形界面还是系统默认安装的wxMaxima,因此以下的介绍也主要是基于wxMaxima而完成的。wxMaxima是基于wxWidgets这一垮平台物件工具集而编写的,因此该程序能垮平台使用。wxMaxima具有以下特点:

  • 二维的格式化数学显示:wxMaxima实现了自己的数学显示引擎,能又好地显示Maxima输出。
  • 菜单系统:大多数的Maxima命令能通过菜单执行,大多数常用的功能可通过文档下方的按钮面板执行。
  • 对话框:可通过对话框使用那些需要多个参数的命令,从而不必准确地记住这些命令的语法。
  • 创建文档:可以混合文本和数学计算来创建文档,这些文档可以被保存并稍后再次打开编辑。
  • 动画:从0.7.4版本开始支持简单的动画。

使用wxMaxima

wxMaxima的使用其实是很简单的,但对于新手,由于中文帮助资料的缺乏,在刚开始的时候往往会难以下手,这里列出一些wxMaxima的使用要点:

  • 单元类型:wxMaxima中可输入的部分是一个个左侧被类似左方括号的标记包括的单元(Cell),单元是wxMaxima文档的基本构成块。共有四种单元,分别是输入单元(Input Cell)、文本单元(Text Cell)、区段单元(Section Cell)和标题单元(Title Cell)。其中输入单元是进行数学计算的单元,文本单元、区段单元和标题单元只是用来输入文本,文本单元输入的是常规文字,而区段单元和标题单元和文本单元的区别只是字体格式的不同,如字体更大、字体加粗、倾斜或下划线。可以通过“Edit”>“Cell”>“New Input Cell”来插入输入单元,其他单元的插入方法类似,工具栏上还有插入输入单元和文本单元的快捷键。另外,也可以把光标定位在单元之外,这时光标所在位置出现一条水平线,然后直接输入或按回车键即可在水平线所在位置快速插入输入单元。
  • 计算输入单元:在输入单元输入一个Maxima命令后,按Shift+Enter键即可对该输入单元执行计算。保存一个wxMaxima工作表文档并不保存其计算结果,重新打开文档后,需用菜单“Edit”>“Cell”>“Evaluate All Cells”来重新计算所有结果;或者全选文档所有内容,按Shift+Enter进行计算。
  • 打开和关闭单元:可通过单击单元包括标记上方的空三角形来关闭单元,单元关闭后该三角形变为黑色充填的三角形,并且单元的输出结果被隐藏。

为了方便初学者,这里对wxMaxima的主界面英文单词进行翻译:Equations(方程式)、Algebra(代数)、Calculus(微积分)、Simplify(化简)、Simplify(tr)(化简(三角))、Simplify(r)(化简(根))、Factor(阶乘)、Expand(展开)、Solve(求解)、Solve ODE(解常微分方程)、Reduce(缩并)、Rectform(直角坐标形式)、Plot(绘图)和Numeric(数值)。

将计算结果插入到MS Office Word

能将计算结果插入MS Office Word,可能这是大家非常关心的一项功能。只可惜wxMaxima并不提供此项功能,不过不要紧,我们有两个办法将计算结果插入Word:

  • 以图片格式插入Word:在wxMaxima中用鼠标拖动选中计算所得的公式,使需要的公式部分反白显示,然后单击鼠标右键,在弹出的菜单中选择“Copy As Image”,这样就将公式以图片格式复制到粘贴板了,然后在Word中粘贴即可。不过这样做的缺点有两个:一是公式的显示和MS Office Word中自带的公式编辑器显示质量相比要差一点,二是一些常数如πe显示为%pi和%e,这和我们想要的显示结果又不一致。
  • 将公式导入MathType:这个选项必须要求您的电脑上安装有MathType,由于MathType 6.0及以上版本具有直接输入TeX公式的功能,因此可以将wxMaxima中的公式导出为LaTeX公式,然后再粘入MathType。先配置MathType,在“Preferences”>“Workspace Preferences”中勾选“Allow TeX language entry from the keyboard”,点“OK”确认,然后同样在wxMaxima中选中想要的公式,单击右键,选择“Copy LaTeX”,再切换到MathType,直接粘贴,所想要的公式即直接显示在MathType中了。

一些有用的资料

前面已经说过了,此文只是一个Maxima的入门指引,想要入门还需要多一点点努力,这里再给大家提供一些有用的资料,可以点过去看看,相信这些东西会很快让大家入门的:

此条目发表在 数值计算, 数学 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>