計算機代數系統
外觀
計算機代數系統(英文: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。
幾種計算機代數系統
文獻
- Richard J. Fateman. Essays in algebraic simplification. Technical report MIT-LCS-TR-095, 1972.