mathics是一个开源、免费、通用、跨平台的计算机代数系统(CAS),语法、函数和Mathematica几乎完全一致。它使用Python开发,依赖于Sympy(python的符号计算库)、mpath、gmpy等,并且可以借助Sagemath获得更强的能力。类似于Sage,mathics也有在线版本,可以通过浏览器进行各种运算。

主页:http://www.mathics.org/

下面简要谈下windows系统下的安装,首先需要安装Python(建议python2.7.3, 我不确定3.x系列是否可以),解压从官网下载下来的mathics-0.5.zip,目录中包含一个setup.py文件,在该目录下执行命令提示符(win7下可以Shift+鼠标右键,在此处打开命令窗口),键入setup.py install,不过这一步必须确保你的系统里有VC2008编译器,并且环境变量配置无误,否则会报错:"Unable to find vcvarsall.bat"。其他版本的VC貌似不行.如果不想安装庞大的VS,用Mingw也是可以的(下载地址之一:http://cloud.github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe),安装之后也需要设置环境变量,然后执行setup.py install build --compiler=mingw32,安装过程中可能需要下载个别依赖的包,过一会就好了。

安装完毕在命令行下执行mathics,可是居然出错了,根据出错信息判断这是由于编码问题造成的,定位到"C:\Python27\Lib\site-packages\Mathics-0.5-py2.7-win32.egg\mathics\__init__.py",把原来的UTF-8不带BOM格式转为ANSI保存,再次运行, It works! mathics还有个浏览器界面,先运行initialize.py文件,再在命令行下执行mathicsserver命令就可以在浏览器中进行交互计算了,在Chrome或FireFox中打开http://localhost:8000即可(默认端口为8000,还有IE支持不好)。

  经过初步的试用感觉mathics还不错,对付基本的符号运算还行,语法上模仿Mathematica很到位,但是还是有很大的差距,复杂一点的问题他就无能为力了,好多Mathematica对应的函数目前还没与实现,毕竟mathics还年轻,期待不久的将来它能发展的更好。