Maxima介紹
Maxima 是一種用LISP 編寫的電腦代數系統(Computer Algebra System),用於公式推導和符號計算,它是一套自由軟體,在GNU通用公眾授權條款下發行。它由麻省理工學院在美國能源部的支援下於60年代末創造的 Macsyma 演變而來。Macsyma 後來慢慢走上商業化的道路。1982年開始 Bill Schelter 教授(於2001年去世)默默地維護 Macsyma 代碼,他把這個軟體稱為 Maxima。由於著作權問題,Maxima 在很長的一段時間內不能公開發行,只有少數人能使用這個軟體。在 Schelter 教授努力了16年之後,Maxima 於1998年獲得許可,成為開源軟體,使得更多的使用者和程式設計師能自由的使用 Maxima。
Maxima 的前身 Macsyma 在當時是非常創新的軟體。現代流行的商業電腦代數系統軟體 Maple 及 Mathematica,都是受到 Macsyma 的啟發而設計出來的。
產品功能
- 符號運算(含一定的推理能力)
- 各種基礎數學函式庫
- 複數和任意精度(use “bfloats”)計算(只受記憶體限制)
- 利用 gnuplot 進行2維及3維函式繪圖
- 可編程
- 可計算文件,支援插入,標題單元,章節單元,備註,輸入單元,文字單元,圖片
- 生成 LaTeX 格式的數學式
- 方便的載入 Common Lisp 語言或 Maxima 本身的語言寫成的 Package
- 基於符號而不只是數值的微積分運算
- 矩陣運算
- 函式展開化簡縮併
- 上千頁的手冊
版本歷史
Maxima 可在 Linux, Mac OS X,及 Windows下編譯。
介面
Maxima 核心提供命令列介面,也可使用 wxMaxima, imaxima 提供 GUI 介面。
特殊功能
變數及函式名稱自動補齊: 在命令列按下 Ctrl-TAB鍵,Maxima 會提示或自動補齊變數,函式或檔案的名稱。
代碼範例
對表達式 expr 賦值
expr: a*x^k+b*x+c$ ev(expr, a=1, b=2, c=3, k=2);
正弦函式,指定定義域,對數尺度繪圖
wxplot2d([sin(x)], [x,-5,5], [logx])$
do 迴圈
for a: -3 thru 26 step 7 do display(a)$