注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

特選フリーソフト

日経Linux

数式処理から3Dグラフ表示までをこなす Maxima(上)

2006/07/28
出典:日経Linux 2004年11月号  82ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

 Maximaは,CやFortranなどの「数値」計算と異なり,xやyなどの変数を含む数式をそのまま計算できる数式処理ソフト。微積分や行列計算はもちろん,数式のままでの因数分解や極限値の計算,3次元グラフ表示なども自在にこなす。


写真1 GNU TeXmacs上で動作するMaxima 5.9.0
TeXによる美しい数学記号を使って数式が表示されている。

[画像のクリックで拡大表示]

 Maximaは,1960年代に米MITで開発されたMacsymaを直接の起源とする数式処理ソフトである。数式のまま計算できるのが特徴である(別掲記事「なぜ数式のまま計算できるのか」を参照)。理工系の大学生レベルの数式処理なら問題なく計算できると言ってよいだろう(写真1[拡大表示])。

 Maximaは,米エネルギー省(Department of Energy,DOE)が権利を保持していたDOE版Macsymaを基に,1982年からテキサス大学のWilliam F. Schelter氏が,GNU Common Lisp*1上に移植したものだ。1992年にGNU GPLライセンスで公開する許可を得ている。残念ながらSchelter氏は2001年に亡くなったが,その後,メンテナンス・チームが発足して開発・保守を行っており,精力的に開発が進んでいる。2004年9月下旬時点での最新安定版は5.9.0だ。

3種類のCommon Lisp上で動作

 MaximaはCommon Lisp処理系上で動作する。現在,カーネギー・メロン大学が開発したCMUCL,ドイツのBruno Haible氏とMichael Stoll氏が開発したClisp,そしてGNU Common Lisp(GCL)の3種類のCommon Lisp処理系上で動作する。

 MaximaのWebサイトではCMUCL上で利用した場合が最も高速だと紹介されている。しかし,CMUCLとClispではバージョンによって問題が発生することも報告されており,現状では,Schelter氏が長期に渡って開発のベースとしていたGCLが最も安定しているようだ。

 以下では実行環境としてGCLをインストールする場合を紹介した。他のLisp環境で構築する場合も該当するパッケージ名が変わるだけで,インストールの手間は変わらない。

 Maximaは,基本的にはLinuxなどのUnix系OS上で動作するコマンドライン・ベースのプログラムだ。本体のみではCUIベースの入出力機能しか持たない。X Window System(以下,X)上で動作させるには,Xmaximaパッケージを追加すればよい。X用のフロントエンドを利用できるようになる。なお,Microsoft WindowsにもX相当版が移植されている。

Maximaをインストールする

 Maximaを動作させるには最低限,2種類のファイルが必要である。X環境で利用する場合はさらに,もう1つのファイルが必要だ。以下のファイルは付録CD-ROMに収録されているが,ダウンロード方法も紹介しておこう。

 まず,Maxima本体を入手する。MaximaのWebサイトの左側にあるメニューから,「Download」を選ぶ。「Download - Maxima 5.9.0」と記載されているリンクからmaxima-5.9.0-1.i386.rpmをダウンロードする。

 2つ目は,Maximaを実行するために必要なCommon Lisp環境である。かつてはGCLのみに対応していたが,現在は前述した3つの処理系から選択できる。「exec - GCL」,「exec - Clisp」,「exec - CMUCL」と記載されたリンクからいずれかを選択してダウンロードしよう。

 最後に,MaximaをX環境で動作させるために必要なXmaximaを「Xmaxima - version 5.9.0」と記載されているリンクからダウンロードする。

 Maxima 5.9.0版はRed Hat Linux 7.3と同7.1上でテストした版だとWebサイトには記載されている。筆者はバイナリRPM版をTurbolinux 10 F...で使用しており,現在まで問題はない。Fedora Core 2でも試してみたが,問題なく動作している。バイナリRPMのほかに,ソースRPMとソースtarボールも選択できるが,Red Hat Linux互換のディストリビューションを利用しているのであれば,バイナリRPM版で問題ないだろう。

 それでは,インストールに入ろう。


図1 Maxima本体とCommon Lisp実行環境のインストール方法
相互に依存関係があるので必ず同時にインストールする必要がある。

[画像のクリックで拡大表示]

図2 MaximaをX環境で実行するパッケージxmaximaのインストール方法
TCL/TKのフロント・エンドとして動作するため,TCL/TKが既にインストールされていなければならないが,ほとんどのディストリビューションでは問題ないだろう。

[画像のクリックで拡大表示]

図3 TeXmacsのインストール方法
[画像のクリックで拡大表示]

図4 TeXmacsをインストールしたパスを環境変数に設定する方法
ホーム・ディレクトリの.bashrcか.bash_profileに書き加えておくとよい。

[画像のクリックで拡大表示]

 まずMaxima本体を構成する2つのファイルを図1[拡大表示]に示すようにインストールする。

 次にX用の実行環境Xmaximaをインストールする(図2[拡大表示])。これでCUI環境で動作するmaximaコマンドとX環境で動作するxmaximaコマンドのインストールが完了した。

数式を美しく表示するTeXmacs

 maximaコマンドと,xmaximaコマンドがあれば,十分実用になるが,さらに数式を「美しく」出力できるようにするためのソフトウエアGNU TeXmacs(以下,TeXmacs,作者はJoris van der Hoeven氏,http://texmacs.org/index.php3)を使ってみよう(写真1)。

 TeXmacsはMaxima専用ではなく,他のシステムのフロントエンドにもなれる汎用の理工系向きの論文エディタだ。数式処理システムとの相性がよく,Maximaには標準で対応しており,メニューから直接Maximaを選択できる。

 名前から推測できるようにTeXmacsは文字ベースでデータを受け取り,その構造に従ってTeXに変換し,画面上にWYSIWYGで表示するシステムである。数式をTeX形式のまま表示することも可能だ。

 そのままでも数式エディタとして利用できるが,現状では日本語は入力できない。

TeXmacsをインストールする

 TeXmacsをインストールするにはTeXmacs本体(TeXmacs-1.0.4-R3-static-gnu-linux.tar.gz)とTeX用フォント(TeXmacs-600dpi-fonts.tar.gz)が納められた合計2つのファイルが必要だ(図3[拡大表示])。/usr/local/bin以下などにインストールするとよいだろう。TeXmacs-600dpi-fonts.tar.gzは600dpiのTeXフォントだ。TeXmacsの初回起動時に自動的に生成されるので必ずしも必要ではない。

 実行する前に環境変数PATHにTeXmacsをインストールしたディレクトリのパスを追加しておこう(図4[拡大表示])。ホーム・ディレクトリの.bashrcか.bash_profileなどのスクリプト・ファイルに登録しておくとよいだろう。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介