計算機代數系統
計算機代數系統(英語: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.
外部連結
下面是一些線上可用的電腦代數系統的列表:
- 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 (頁面存檔備份,存於互聯網檔案館)