Yenlung的記事

星期六, 11月 12, 2005

[Singular] Singular 在 Windows 上的安裝

我推薦的 Singular 執行方式是搭配 emacs 使用。當然, 我們並不一定要非常會用 emacs, 只是 emacs 執行 Singular 看來比較舒服。Singular 並沒有像 Maxima 那樣漂亮界面選擇, 所以如果不是需要比較專業的 Groebner Basis 計算, 我還是推薦 Maxima。

要在 Windows 上使用 Singular, 我們必需要先安裝 Cygwin:

Cygwin

Cygwin 好像放了個類似 Unix 的系統到 Windows 中。這讓你不用離開 Windows, 就可以享有許多 Unix 系統下的應用程式。

在上面那個網站 download Cygwin 的 setup 之後, 執行它, 選擇個 ftp server, 就可以安裝。

除了 Cygwin 預設安裝, 我們還要安裝下面的套件:

xorg-x11-base: (在 X11 之下) 以後可執行 Unix 系的視窗程式 (在這是為了 emacs)
emacs-X11: (在 Editor 之下)安裝 X11 版的 emacs
singular-base: (在 Math 之下)安裝 Singular

裝好之後, 以後執行 Cygwin, 你就會看到類似 DOS 的文字視窗出現。此時打入


startx


就會出現 xterm, 讓你準備執行 X-Windows 的程式。在 xterm 裡面下


ESingular


就可以執行 emacs 及 Singular。

[Singular] 代數幾何專業軟體

我本來想用 Maxima 來做全功能數學教學就好, 不過最近發現一個驚人的事實:

看來 Maxima 計算 Groebner Basis 能力很差。

所謂能力差並不是說 Maxima 算得很慢, 畢竟如果只是教學上的例子, 會算就可以了。問題是, Maxima 一直沒有健全的 Groebner Basis 模組, 至少還沒有標準內建型的。

於是, 如果要計算 Groebner Basis, 我們不得不求助其他軟體。我個人的選擇是 Singular。

Singular

星期三, 11月 09, 2005

[Maxima] Maxima 的簡介

Maxima 是一個全功能電腦代數系統 (Computer Algebra System, 簡稱 CAS) 。電腦代數系統大家比較熟悉的是 Mathematica, Maple 等等。電腦代數系統最讓人稱道的是符號計算, 也就是從小我們數學課計算的方式, 而不像平常的電腦/計算機系統都只能做數值的計算。

在所有 CAS 當中, 我要特別推薦 Maxima 的原因有三個:

(1) Maxima 是自由軟體, 不用花錢, 馬上可以使用。Mathematica, Maple 都很貴, 在台灣更是沒有合理的教育授權 (據我所知學生大約要花一萬元左右才可合法在他自己電腦使用 Mathematica/Maple), 這不是一般學生可付擔的花費。就算學校/系上有錢, 所有電腦室都放一套 Mathematica/Maple, 我想還是不如學生都可自己在家上機學習方便。又另有很多老師都假定學生可以「自行取得」非法軟體, 我想是最糟糕的。我們明明有很好的, 免費的替代品, 為什麼不用呢?

(2) Mathematica, Maple 事實上就是受到 Maxima 的前身, Macsyma 影響而有的。Macsyma 正是第一套 CAS 軟體。所以學習 CAS, 從始祖學起, 實在再合適不過。因為這觀念基本上是一樣的, 以後就算要改用 Mathematica, Maple 也很容易。

(3) Maxima 雖然免費, 但功能相當完整。基本的像是微分積分, 矩陣計算, 二維三維繪圖等, 全部都有, 更有許多高階的應用。要在免費軟體, 甚至商用軟體中找功能這麼完整的, 其實很少。而且 Maxima 在主要平台如 Windows, Mac OS, Linux 全部都有, 你不用轉換你喜歡的平台, 就可以享有高功能的數學軟體。

看到這, 你可能有個疑問, 「如果 Maxima 這樣好, 為什麼 Maxima 好像沒什麼名氣呢?」很重要的原因是, 自由軟體版的 Maxima 是到 1998 年才被授權的! Macsyma 原本是 MIT 一個實驗室發展的軟體, 後來 MIT 決定要將這個軟體商業化。這舉動正是讓 Richard Stallman 決定要推動自由軟體的重要原因。

1982 年, University of Texas, Austin 的教授 William Schelter 決定自行開發 Macsyma 的自由版本, 也就是這裡介紹的 Maxima。這個版本在有商業版 Macsyma 的情況, 自然難以得到正式授權, 因此只有少部份的人知道並使用 Maxima。Schelter 教授就在這不知何時才能讓他的 Maxima 自由流傳的情況下, 仍堅持他的理想, 繼續 Maxima 的開發長達 16 年! 終於, 1998 年, Maxima 才得到正式授權。

遺憾的是, Schelter 教授在 2001 年突然過逝。我們現在在 Maxima 的 mailing list, 可以看到 Schelter 教授過逝之前, 還在回答網友對 Maxima 的問題。

還好, Maxima 已經是合法的自由軟體, 所以有一批熱心的開發人員, 繼續開發, 推出更好的 Maxima。

Maxima 的官方網頁