English / Japanese

Ruby/Mathematica

Ruby/Mathematica は MathLink(TM) を介して Mathematica(TM) と双方向通信するための Ruby 拡張ライブラリです。 このライブラリを利用することにより、 Ruby プログラム中で Mathematica をバックグラウンドで動く計算エンジンとして 用いることができます。

Ruby/Mathematica はフリーソフトウエアです。 Ruby と同じように、誰でも改造したり再配布したりしていいです。 ただし、MathLink を配布したり MathLink を static link したライブラリを 配布する際には、事前に Wolfram Research, Inc. に許可をもらわなければ いけません。 配布している現在のバージョンにはこれらは含まれてません。 それから、 MathLink License Agreement にも従う必要があります。 なんにせよ、できれば、今のバージョンよりも良いものにして僕に教えて下さい。

ダウンロード

現在の最新版は 0.0.3 です。

古いバージョンも残しておきます。

必要になる環境

現在 DEC UNIX alpha station と ruby ver. 1.6.4 と Mathematica 4.1 でテストしています。ソースしかついていないので C コンパイラが必要です。 協力者を募集しています。 (僕も Windows ユーザなのでできあがったら嬉しいです) 現在の内部実装では UNIX に依存している部分がありますので、 移植を試す人は注意して下さい。

牧野さんから、MacOSX で動くとの報告をもらいました。 また MacOSX でのインストールにおいて、変更しなければいけないことも 教わりました。今のインストールスクリプトだと、簡単にはインストールできな いみたいですが、次の変更で対応しようと思います。 version 0.0.3 では、まだ対応していません。すみません。。。

変更点

おもに 2 つの変更がなされました:

詳しくは ChangeLog , NEWS 参照のこと。

Unix でない環境の人がインストールするための手助けのための手引き:

サンプル

詳細

Ruby/Mathematica は MathLink のラッパーを含んだライブラリです。

ver. 0.0.1a では Ruby/Mathematica は 2 つのモジュールと 2 つのクラスからなります。

Mathematica:: # module Mathematica
  MathLink::  # submodule MathLink
     MathLink # class MathLink
  Mathematica # class Mathematica

Mathematica モジュールは名前空間の解決のために用意された Ruby/Mathematica のための抽象ライブラリです。

Mathematica クラスは MathLink の知識なしに Mathematica を使って 計算させるためのインターフェースの実装がなされています。 現在の実装は実験的なため、将来のバージョンにおいて互換性が失われるような 改変が行なわれるかもしれないので注意して下さい。

MathLink クラスは MathLink C ライブラリのラッパーです。 まだ全部の関数を実装してませんが、 Ruby プログラムから Mathematica カーネルに命令を渡す最低限の方法は用意しました。 MathLink モジュールは mathlink.h が定義した定数などを保持しています。

クラス・メソッド一覧

考えられる用途

こんなライブラリと共同で仕事ができるようになったらいいなあ:

関連のありそうなところへのリンク

今後の方針

優先度の高い順に並べました:

協力者大募集。もしくは勝手に、もっといいのを作ってくれる人歓迎。

ひとこと

2002-06-20
Windows と cygwin で動くことを確認しました。 Mathematica の動作期限がきてしまったので、もはや開発ができません。えーん。 6/20 現在のスクリーンショット
2002-03-31
日本 Mathematica ユーザ会 で Ruby/Mathematica のことを喋ります。原稿などを ここらへんに置くことにします。
2001-12-13

Windows への移植作業開始。 手元のノートパソコンで拡張ライブラリが作成できるようになりました。 12/13現在のスクリーンショット(39K)

Special Thanks

特に以下の方々に助けていただきました。とても感謝します。 これからもよろしくお願い致します。順不同です。

Mathematica Technical Support の George Kambouroglou さん、 /. で紹介して下さった kazekiri さん、 MacOSX へのインストールを試し、変更点などを教えて下さった牧野克紀さん。

また、ruby-list, ruby-math ML および IRC の #Ruby:*.jp の皆様に 助けられています。

登録商標など

Mathematica と MathLink は Wolfram Research, Inc の登録商標です。


戻る...

Last modified: "Wed Sep 18 14:03:52 2002"

池上 大介 IKEGAMI Daisuke ikegami@madscientist.jp