「Maxima」の版間の差分

提供: MacWiki
移動: 案内検索
(cmucl + Maxima)
(その他)
行152: 行152:
 
※ CVS 版 Maxima では大文字・小文字を区別するようになり、組み込みの関数・変数は全て小文字になったようです。
 
※ CVS 版 Maxima では大文字・小文字を区別するようになり、組み込みの関数・変数は全て小文字になったようです。
  
**http://www.interq.or.jp/mars/cherry/maxima/dot.maxima_completions(5.9.1 用)
+
*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 版用)
+
*http://www.interq.or.jp/mars/cherry/maxima/dot2.maxima_completions (CVS 版用)
  
  

2007年8月11日 (土) 15:28時点における版

Maxima とは?

GNUな数式処理システムです。詳しくは Wikipedia:Maxima などを参照してください。

インストール(パッケージ利用)

Fink にもバイナリパッケージが含まれています。

MacOSX_WorkShop

$ sudo apt-get install imaxima

で必要なものは全てインストールされます。

  • Tiger 版ではデフォルトの lisp を clisp から 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) 必要なファイルを入手

(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) 必要なファイルを入手

(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 個)をあてておく必要があるかもしれません。

[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 のことのようです)。

その他

  • (2005/9/2)CVS 版 Maxima 用に、タブ補完のための関数・変数名リストを追加しました(機械的に maxima_43.html をテキスト化しただけですし、そもそもこのようなファイルが必要なのかどうかもよくわかりません)。このファイルを .maxima_completions と改名(dot 又は dot2 を削除)してホームディレクトリに置いておくか、maxima と改名して /usr/local/share/rlwrap/ に置いておくと自動的に読み込まれるようです。

※ CVS 版 Maxima では大文字・小文字を区別するようになり、組み込みの関数・変数は全て小文字になったようです。


  • 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(日経ソフトウェア)

http://itpro.nikkeibp.co.jp/article/COLUMN/20060721/244005/

Wiki内の関連ページ