Mathomatic
开发者 | George Gesslein II |
---|---|
当前版本 | 16.5.0(2012年10月21日 | )
编程语言 | C |
操作系统 | 跨平台 |
类型 | 计算机代数系统 |
许可协议 | GNU Lesser General Public License |
网站 | http://mathomatic.org/ |
Mathomatic是一个自由,便携式,通用计算机代数系统(CAS) 和计算器软件,可以符号式的解答、化简、结合并比较代数方程,执行复数和多项式的计算,等等。它也可以做符号化的微积分(导数,极值,泰勒级数,和多项式积分以及拉普拉斯变换)并且能操作所有的基本代数。三角函数可以被输入并使用欧拉公式处理。诸如f(x) 和log(x),测绘,多倍长整数,以及矩阵等功能尚未被引入。Mathomatic不允许超长的表示式进行计算,因为这会耗费大量时间及内存。
功能
软件自身不带图形用户界面(除iPhone版本)[1]。控制台模式的程序自带一个彩色命令行界面运行在任何操作系统的终端模拟器下。命令行界面非常简单,差不多不需要任何学习就能掌握。
软件没有编程功能,直译程序如同一个代数计算器一般工作。表示式和方程以中置记法输入。各种操作使用简单的英语命令执行。
因为所有数字都是双倍精确浮点数并且数字的近似值和精确值之间的差异并没有被记录,因此Mathomatic不适合需要高精确度的计算。它适合最高小数点后14位的小数的快速且准确的计算。
Mathomatic可以被当成浮点或整数算术代码生成工具,化简方程并转换到最优化的赋值语句,支持Python,C,C++以及Java编程语言。
Mathomatic的源代码可以被编译成一个带有非常简单的API的符号计算的库,可以被连接到C或C++程序以使用Mathomatic的符号运算数学引擎。
会话实例
用户输入的内容以粗体显示。
1-> x = (a + 1) * (b + 2) #1: x = (a + 1)*(b + 2) 1-> b ; solve for b x #1: b = ------- - 2 (a + 1) 1-> code java ; output Java language code b = ((x/(a + 1.0)) - 2.0); 1-> variables java ; define the variables for Java double x; double a; double b; 1->
历史
Mathomatic的开发由George Gesslein II开始于1986年。最初以Microsoft C,运行于MS-DOS并且是一个共享软件,附带一个图表程序。后来它被移植到Linux平台的GNU C Compiler并成为自由软件。图表程序被终止开发。
可用平台
Mathomatic通过Cygwin可以在Microsoft Windows下运行。[2],以及Mac OS X[3], iPhone[1], Nintendo DS的DSLinux[4]或独立运行[5]. Debian Linux[6],和所有BSD UNIX发行版都服带有安装包形式的Mathomatic,这些移植版本都由独立个人维护。
系统要求
从源代码编译需要一个C语言编译器和C标准函式库,如果使用GCC编译,那么不需要对源代码作任何修改。
Mathomatic可以运行在任何一台带有至少1兆空闲内存的计算机。从Mathomatic主页上下载的版本的内存需求最高可达[3] 100兆字节,主要影响因素是有多少方程空间以及有多少方程被输入。方程空间是固定的数组,在需要时分配,大小会在编译或启动时被设置。每一个输入的方程占用一个方程空间
参见
- ^ 1.0 1.1 Mathomatic for the iPhone. [2009-01-08]. (原始内容存档于2020-11-09).
- ^ Mathomatic on the Cygwin website. [2009-01-08]. (原始内容存档于2012-07-25).
- ^ 3.0 3.1 Found on the Mathomatic home page
- ^ Mathomatic - DSLinux Wiki. [2009-01-08]. (原始内容存档于2007-10-27).
- ^ Mathomatic ported to the Nintendo DS. [2009-01-08]. (原始内容存档于2007-10-28).
- ^ Debian - Package Search Results - mathomatic