(上)を読む

Maxima,TeXmacsを実行する


写真2 コマンドラインで動作するMaxima
[画像のクリックで拡大表示]

写真3 X Window System上で動作するXmaxima
独自の描画ウインドウやヘルプ・システムを備える。
[画像のクリックで拡大表示]

写真4 XEmacs 21.4上でImaximaを介して動作するMaxima
[画像のクリックで拡大表示]

図5 imaxima を使うために追加する内容
[画像のクリックで拡大表示]

 Maximaは,xやyなどの変数を含む数式をそのまま計算できる数式処理ソフトである。微積分や行列計算,数式のままでの因数分解や極限値の計算,3次元グラフ表示などを自在に行える。今回はMaximaを使い方を説明する。

 後ほど,Emacs上でMaximaを利用する方法を紹介するが,まずは,ここまでの状態でMaximaを使ってみよう。

 CUI環境で動作するのが,maximaコマンドだった。次のように打ち込めば,X環境がなくても動作する(写真2[表示])。

 メモリーが少ないマシンにインストールして使用する場合にお勧めする。終了するには次のコマンドを使う。

 X環境で動作させるにはxmaximaコマンドを使用する。実行するには次のようにする

 独自のウインドウ内で数式の表す立体図形を描画表示できる(写真3[表示])。メニューのHelpからはマニュアルも参照できる。このマニュアルは英語だが,独自に和訳した結果を掲載しているWebページ(http://www.bekkoame.ne.jp/~ponpoko/Math/maxima/maxima_toc.html)や,日本語による操作方を解説したWebページ(http://phe.phyas.aichi-edu.ac.jp/~cyamauchi/maxima/)があるので,一度チェックしてみることをお勧めする。

 TeXmacsを起動するには次のコマンドを用いる。

 Maximaを使うにはウインドウ上端のツール・バーの右端にあるディスプレイ型のマークをクリックし,メニュー2段目の「Maxima」をクリックする(写真1)。グラフ描画は別ウインドウとして表示され,数式の表示も美しい。Maximaを用いるのなら,この環境が最も快適である。

 グラフの描写にはgnuplot(http://www.gnuplotinfo/index.html)が使われている。

Emacs上でMaximaを使う

 EmacsやXEmacsは,Linuxでも標準といえるエディタ環境の一つである。Maximaは,Emacsなどと結合して利用することも可能だ。

 lmaximaを用いると,TeXmacs同様,TeXによる美しい出力が得られる(写真4[表示])。ImaximaはEmacs Lispで書かれたEmacs用の機能拡張パッケージである。実行するには21.4版以降のXEmacsかイメージ・サポート機能を備えるEmacs 21版以降が必要だ。

 まず,作者であるJesper Harder氏のWebサイト(http://www.ifa.au.dk/~harder/imaxima.html)からimaxima-0.9.tar.gzをダウンロードしよう。さらにLaTeX用のパッケージbreqnも必要だ。FTPサイト(ftp://ftp.ams.org/pub/tex/)からbreqn094.zipをダウンロードできる。

 ダウンロードしたimaxima-0.9.tar.gzを,適当な作業用ディレクトリに置き,次のように展開,コンパイルする。

 次に,Emacs/XEmacsの初期化ファイルに図5[表示]の1行を追加してほしい。XEmacsの初期化ファイルの場合,~/.xemacs/init.elを書き換える。「オプション」メニューから「Edit Init File」を選べばXEmacsが自動的に初期化ファイルを編集可能な状態にしてくれる。

 breqn094.zipもimaxima-0.9.tar.gzと同じディレクトリに置き,次のように展開する。

 作成されたbreqn094ディレクトリ内の*.styファイルと*.symファイルをTeXが検索可能なディレクトリにコピーしよう。通常は/usr/share/texmf/tex/latex/breqn/にコピーすればよいだろう。それ以外のファイルは,同様に/usr/share/texmf/doc/latex/breqn/というディレクトリにコピーしておく。コピー作業が終わったら,次のコマンドを実行する。

 以上でインストールが完了した。Imaximaを使うにはEmacs/XEmacsを起動して,「M-x imaxima」とタイプする。106キーボードなどであればAltキーを押しながらxキーを押し,次にimaximaとタイプしてからリターンを押せばよい。Emacs/XEmacsのバッファ上部にMaximaの起動を示すメッセージとプロンプトが表示され数式処理が可能な状態になっているはずだ。


なぜ数式のまま計算できるのか

 Maximaに限らず多くの数式処理ソフトは,記号処理を得意とするLisp系の言語上に構築されている。それは,Lispの基本的データである「リスト」が,データを構造化するのに非常に適しているからだ。

 例えば「a + b」はLispでは「(+ a b)」というリスト形式で書く。ここで「a」や「b」の部分が複雑な式であったとしても「(+ 式 式)」という形式になる。つまり,全体としての構造は元の形式と全く変わらない。実際の計算の進め方を説明しよう。例えば「(a + b)2」を表す「(expt (+ a b)2)」というパターンのリストが現れたら「(+ (expt a 2) (* 2 a b) (expt b 2))」というパターンに置き換えるというルールを定義しておく。これで,「a2 + 2ab + b2」という「計算」結果が出る。やや乱暴だが,このような式の置き換えルールを大量に備えたLispシステムが数式処理システムといえる。もちろん,人間にとって見やすい形式で出力する,計算の途中でリストの数が膨れ上がらないように制御するなどの配慮が必要だ。さらにパターンの置き換えをどのような順序でこなすのかも重要な問題である。これらを非常に高い次元で融合したのがMaximaを始めとする数式処理ソフトである。