计算机代数系统
外观
计算机代数系统(英语:computer algebra system,缩写作:CAS)是进行符号运算的软件。这种系统的要件是数学表示式的符号运算。
表示式的类别
表示式的例子包括:
符号运算
以下是几种典型的符号运算:
- 表示式的简化
- 对表示式求值
- 表示式的变形:展开、积、幂次、部分分式表法、将三角函数表为指数函数等等。
- 对单变元或多变元的微分。
- 带条件或不带条件的整体优化。
- 部分或完整的因式分解。
- 求解线性方程组或一些非线性方程式。
- 某类微分方程或差分方程的符号解。
- 求某些函数的极限值。
- 一些函数的定积分或不定基分,包括多变元的情形。
- 泰勒展开式、罗朗展开式与Puiseux展开式
- 某些函数的无穷级数展开式。
- 对某些级数求和。
- 矩阵运算。
- 数学式的显示,通常借着TeX之类的系统达成。
其它功能
通常计算机代数系统还能进行一些数值运算:
- 函数的确切求值。
- 高精度求值,例如计算到小数点后位。
- 线性代数的数值运算。
- 描绘二维或三维的函数图形。
在数值运算方面,计算机代数系统的速度通常较Matlab、GNU Octave或C语言中以同等方式实现的程序慢。这是因为计算机系统几乎总是对符号表示式运算,故不能充分利用CPU的既有指令。
许多计算机代数系统内置高级编程语言,以供用户扩展,或设置个人的操作模式。
历史
马丁纽斯·韦尔特曼(Martinus J. G. Veltman) 是这个领域的先驱,他首先考虑了在高能物理中的应用。他在1963年设计的第一个程序叫Schoonship(荷兰文,意指“干净的船”)。
最早受到欢迎的系统是Reduce、Derive与Macsyma,现在仍然可获取。Macsyma的一个GNU通用公共许可证发行的版本叫作Maxima,现在仍有维护。市场的龙头为Maple与Mathematica,两者被数学家、科学家及工程师们广泛采用,此外还有MuPAD与MathCad。
另有一些系统着眼于特定的应用领域,这些系统通常在学院中被设计、发展及维护,例如交换代数系统Macaulay 2或数论系统PARI/GP。
当前流行计算机代数系统
- mathHandbook.com (former symbmath)
- Sagemath
- Mathematica
- Maple
- MAGMA
- Maxima
- GAP
- PARI/GP
- Meditor
- MuPAD
- Mathomatic
- Xcas / Giac
- Yacas
- Mate
参考文献
引用
来源
- Richard J. Fateman. Essays in algebraic simplification. Technical report MIT-LCS-TR-095, 1972.
外部链接
There are various lists of computer algebra systems available on-line:
- https://web.archive.org/web/20110718004430/http://directory.google.com/Top/Science/Math/Algebra/Software/
- http://www.cs.ru.nl/~freek/digimath/xindex.html
- 开放目录项目中的“Math Software”
- http://www.mat.univie.ac.at/~slc/divers/software.html
- Use Maxima in a web browser without downloading any software
- http://orms.mfo.de/about
- Rosetta Translations: a collection of synonyms for various operations in the computer algebra systems