Maxima
どなたか、このページの情報を整理して下さいませんか?(特に「その他」の項)-- 利用者:ぜ
目次
Maxima とは?
GNUな数式処理システムです。詳しくは Wikipedia:Maxima などを参照してください。
- maxima 公式ページ
- The Maxima Book
- http://vh224401.truman.edu/~dbindner/calc3/ (ページの下の方にあります)
- 公式サイトの旧版を元に独自拡張したもののようです。
- Maxima 普及委員会
- Maximaで遊ぼう
- 数式処理システム Maxima
- Maxima & gnuplot on Mac OS X
インストール(パッケージ利用)
Fink にもバイナリパッケージが含まれています。
MacOSX_WorkShop
$ sudo apt-get install imaxima
で必要なものは全てインストールされます。
Tiger 版以降では lisp 処理系として cmucl を採用しています。 詳細はMacOSX_WorkShop/10.4をご覧下さい。
MacPorts
$ sudo port -v install maxima
lisp には sbcl が用いられます。
環境によってはビルド完了までに時間がかかるので、-v オプションを使った方が気持ちが楽かも知れません。
インストール(手動)
clisp + Maxima
下記に clisp 版 Maxima のインストール手順をまとめてあります。
http://www.interq.or.jp/mars/cherry/mac/maxima-panther.html (clisp-2.33 用)
gcl + Maxima
clisp より少しだけ高速です。インストール手順は以下の通り。
(1/4) 必要なファイルを入手
- readline-5.0.tar.gz(ftp://ftp.gnu.org/pub/gnu/readline/ )
- gettext-0.14.1.tar.gz(ftp://ftp.gnu.org/pub/gnu/gettext/ )
- gcl-2.6.7.tar.gz(http://www.gnu.org/software/gcl/gcl.html )
- maxima-5.9.2.tar.gz(http://maxima.sourceforge.net/ )
(2/4) readline と gettext を普通にインストール
./configure make sudo make install
(3/4) gcl のインストール
h/powerpc-macosx.defs の 9 行目を以下のように修正(Fink の人は修正不要でしょう)。
修正前 LIBS := `echo $(LIBS) | sed -e 's/-lncurses/ /'` /sw/lib/libintl.dylib 修正後 LIBS := `echo $(LIBS) | sed -e 's/-lncurses/ /'` /usr/local/lib/libintl.dylib
その後 make する(--enable-ansi 必須)。
./configure --enable-readline --enable-ansi make sudo make install
(4/4) maxima のインストール
./configure make sudo make install
cmucl + Maxima
cmucl を使うと Mathematica より高速だというのが巷の評判です。インストール手順は以下の通り。なお、起動(スクリプト)は maxima ではなく rmaxima です。
(1/4) 必要なファイルを入手
- cmucl-19b-ppc-darwin.tar.bz2(http://www.pmsf.de/pub/cmucl/release/19b/ )
- cmucl-19b-ppc-darwin.extra.tar.bz2(http://www.pmsf.de/pub/cmucl/release/19b/ )
- readline-5.0.tar.gz(ftp://ftp.gnu.org/pub/gnu/readline/ )
- rlwrap-0.23.tar.gz(http://utopia.knoware.nl/~hlub/uck/rlwrap/ )
(2/4) cmucl のインストール(といっても上記のバイナリを適当なディレクトリに展開するだけ)
sudo tar jxf cmucl-19b-ppc-darwin.tar.bz2 -C /usr/local sudo tar jxf cmucl-19b-ppc-darwin.extra.tar.bz2 -C /usr/local
(3/4) readline、rlwrap を普通にインストール
./configure make sudo make install
(4/4) maxima のインストール
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/maxima login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/maxima co -P maxima cd maxima ./bootstrap ./configure make sudo make install
maximaのコンパイルでは
./configure --enable-cmucl
と明示するほうが良いかも知れません。
- 「そうした方が良い状況」が思い当たらないのですが、どういう場合に良いのでしょうか?
インストール関係の補足
[1] readline-5.0 をインストールするとき、以下のパッチ(計 6 個)をあてておく必要があるかもしれません。
- ftp://ftp.cwru.edu/pub/bash/readline-5.0-patches/ 内のパッチ
- http://darwinports.opendarwin.org/darwinports/dports/devel/readline/files/patch-shobj-conf.diff
[2] (何かあれば追記してください)
Maxima のフロントエンド集
現状では Imaxima 以外は敷居が高いようです。
日本語入力を無視すれば、guile-1.6.7.tar.gz と TeXmacs-1.0.4.6-src.tar.gz を入手し、普通に ./configure; make; sudo make install すれば使えるようです。 メニューから [Insert]→[Session]→[Maxima] と辿ると、例えば [ default / 5.9.1 cmucl / 5.9.1 gcl ] のような選択肢がありますので、適切なものを選ぶだけです(default とは clisp のことのようです)。
- wxMaxima : http://wxmaxima.sourceforge.net/
- GMaxima : http://gmaxima.sourceforge.net/
その他
この項目は、古い情報/解決済みの情報が多いような感じがします。どなたか、整理して下さいませんか? 2005年の豆知識は今でも有効なのでしょうか? -- ぜ
- (2005/9/2)CVS 版 Maxima 用に、タブ補完のための関数・変数名リストを追加しました(機械的に maxima_43.html をテキスト化しただけですし、そもそもこのようなファイルが必要なのかどうかもよくわかりません)。このファイルを .maxima_completions と改名(dot 又は dot2 を削除)してホームディレクトリに置いておくか、maxima と改名して /usr/local/share/rlwrap/ に置いておくと自動的に読み込まれるようです。
※ CVS 版 Maxima では大文字・小文字を区別するようになり、組み込みの関数・変数は全て小文字になったようです。
- http://www.interq.or.jp/mars/cherry/maxima/dot.maxima_completions (5.9.1 用)
- http://www.interq.or.jp/mars/cherry/maxima/dot2.maxima_completions (CVS 版用)
- cmucl-19b と maxima-5.9.1 の組み合わせでは以下のエラーが出て make できません。maxima の CVS (as of 20050819) では大丈夫です。
; - Compiling defsystem "maxima" ; - Loading module "package" ; Compilation unit aborted. Error in batch processing: Error in function NAMESTRING: Cannot determine the namestring for pathnames with no host:
- ご指摘の通りです。上記インストール手順を CVS 用に書き換えました。ありがとうございました。
- (2005/8/17)readline をインストールする場合の補足を追記しました。特に Tiger では --disable-shared とするか、MacPorts のパッチが必要なようです。
- OSXWS では以下の手順で make しています。
glibtoolize --copy --force autoconf ./configure --with-curses make all shared SHLIB_LIBS='-lcurses -lSystem -lgcc' \ SHOBJ_LDFLAGS='-dynamiclib' LIBTOOL="glibtool"
- (2005/2/20)cmucl バージョンのインストール手順を更新しました。
- Maxima 5.9.1 が公開されました(2004/9/25)。
デフォルトの描画ツールが gnuplot に変更になりました。 このままでは表示した図をマウスでぐりぐり弄る事ができません。 図をマウスで操作するには Maxima が生成したデータを gnuplot で次のように読み込んでやります。
gnuplot> load "maxout.gnuplot"
- clisp-2.33 + Maxima 5.9.0 だと例えば diff(sin(x),x) が計算出来ません。Maxima 5.9.0 のバグだそうです。
- Maxima 5.9.2 が公開されました。(2005/10/11) cmucl-19bとの組み合わせは コンパイル可能でした。5.9.2.1cvs版ではplot2dが動かなかったです。(maxima-5.9.2 + cmucl-19bではplot2dは動作しています。)また、cmucl-19bは上記のURLから入手出来なかったので、ftp://ftp.common-lisp.net/pub/project/cmucl/release/19b/ から入手しました。
- 2007年4月になって Maxima 5.12.0rc1とrc2が立て続けにリリースされています。それに伴って5.9.3よりサイズが倍くらいになっています。plotに関してgnuplotの利用は変更してないが、デフォルトでX11に表示する為に、aquaterm+gnuplotでの利用は初期設定をする必要があります。
- 使用するcommon lisp処理系ですが、cmuclと同等の速度を持つsbclが1.0.4になっていますし、openmclもpre1.1がでています。x86-64系cpuにはsbcl/openmclは対応していますので、もしかするとこちらが最速の可能性があります。また、ppc G5用には10.4+64bitppcに対応したopenmclが使えますのでこちらもcmuclなどに比べて高速になってる可能性が高いですよ。
- sbclは月に1度マイナーアップデートを繰り返しています。openmclのpre1.1版は2〜3ヶ月に一度です。maximaも5.12.0が正式にリリースされましたよ。最近のmaximaではrlwrapが入っていればデフォルトで補完機能も働くようになりました。
参考リンク
- 数式処理から3Dグラフ表示までをこなす Maxima(日経ソフトウェア)
- Maximaによる数式処理(弘前大)
- はじめてのMaxima (書籍:ISBN:4777512010)