计算机代数系统(英语:computer algebra system缩写作:CAS)是进行符号运算的软件。这种系统的要件是数学表示式的符号运算。

表示式的类别

表示式的例子包括:

符号运算

以下是几种典型的符号运算:

  • 表示式的简化
  • 对表示式求值
  • 表示式的变形:展开、积、幂次、部份分式表法、将三角函数表为指数函数等等。
  • 对单变元或多变元的微分。
  • 带条件或不带条件的整体最佳化。
  • 部份或完整的因式分解
  • 求解线性方程组或一些非线性方程式。
  • 某类微分方程或差分方程的符号解。
  • 求某些函数的极限值。
  • 一些函数的定积分或不定基分,包括多变元的情形。
  • 泰勒展开式罗朗展开式与Puiseux展开式
  • 某些函数的无穷级数展开式。
  • 对某些级数求和。
  • 矩阵运算
  • 数学式的显示,通常藉著TeX之类的系统达成。

其它功能

通常计算机代数系统还能进行一些数值运算:

  • 函数的确切求值。
  • 高精度求值,例如计算到小数点后位。
  • 线性代数的数值运算。
  • 描绘二维或三维的函数图形。

在数值运算方面,计算机代数系统的速度通常较MatlabGNU OctaveC语言中以同等方式实作的程式慢。这是因为计算机系统几乎总是对符号表示式运算,故不能充分利用CPU的既有指令。

许多计算机代数系统内建高阶程式语言,以供使用者扩充功能,或设置个人的操作模式。

历史

马丁纽斯·韦尔特曼(Martinus J. G. Veltman) 是这个领域的先驱,他首先考虑了在高能物理中的应用。他在1963年设计的第一个程式叫Schoonship(荷兰文,意指“干净的船”)。

最早受到欢迎的系统是Reduce、Derive与Macsyma,现在仍然可取得。Macsyma的一个GNU通用公共许可证发行的版本叫作Maxima,现在仍有维护。市场的龙头为MapleMathematica,两者被数学家、科学家及工程师们广泛采用,此外还有MuPADMathCad

另有一些系统著眼于特定的应用领域,这些系统通常在学院中被设计、发展及维护,例如交换代数系统Macaulay 2或数论系统PARI/GP。

当前流行计算机代数系统

参考文献

引用

来源

外部链接

下面是一些在线可用的计算机代数系统的列表:

MAGMA页面存档备份,存于互联网档案馆

参见

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.