SSブログ

Mathematicaのこと [昔話]

Mathematicaには世話になっている。1.2からの付き合い。
1990年前後だったと思うが当時はちょっと賢い電卓と言う雰囲気だった。
数式処理にはReduceとMACSYMAが全盛だった。Reduceは当時VAX/VMSに移植するパッケージ(テープ(!)を送れば返送してくれた)があって動かしている人の話を聞いたりしたが敷居が高かった。何しろまず専用のインタプリタを自力でコンパイルしなければならなかった。MACSYMAは値段が高かった。

最初Mathematicaには言語としての問題意識に非常に惹かれた。複雑なことをするには複雑な命令が必要と言うのが常識だったコンピュータ用言語(本当は必ずしもそうではなかったかもしれないが)としては目から鱗ものに見えた。特に記憶力が鰐には勝つが牛には負ける程度しかない私には福音に見えた。

Mathematicaはすばらしいパターンマッチング(どうやって実装するんだろう)の能力とオプションと言う引数のアイデアで処理対象が数式だろうが文字列だろうが数値の配列だろうが同じ概念を持つ作業は同じ名前の関数を呼べば良かった。当時、Reduceは字面がFORTRAN臭いし、MS-DOS用にmuMATHというReduceクローンがあったが使い物にならなかった。特にmuMATHは、正確なシンタクスはもう覚えていないが、たとえば数式を変形する関数があってその引数のひとつ目に式を指定する。二つ目に整数を指定する。その整数が1だったら展開、2だったら因数分解、というような万事その調子で記憶されることを拒否しているようなインターフェイスだった。

当時はもうすでにコンピュータ用言語はCとそれ以外と言う状態だったがFORTRAN、BASIC、pascal、その他いろいろいっぱいあった。特にインタプリタではBASICが主流でHPの計測制御用として社内でもユーザは多く、NECの98シリーズ用に趣味的にBASICで書いている人もいた。98シリーズはよく知らないがHPのBASICはやたらと高機能で、測定機との複雑なデータのやり取りや、データのプロットが1行のコマンドでできてしまうほどだった。
しかしこれがインフレで、機能が追加されるたびにコマンドが追加される。一体いくつコマンドがあるのかもわからないほど増えてしまうと、1行書くのに分厚いマニュアルをひっくり返すことになる。これでは何のための高機能化かわからない。

Mathematicaは数値でも文字でもそのまま式を書いて計算する。未評価の文字が含まれていてもあとから文字に数値を割り当てれば数値評価が可能になる。基本的な1次元関数のプロットもPlot[f,{x,x0,x1}]だけ。表示領域やスタイルの変更はオプションで行う。オプションは引数と違い必要なものだけ書けば良い。この簡単さ、覚えやすさは有難かった。

もうMathematicaとの付き合いは十数年になるが、これがないと仕事の能力が何割りか下がってしまうほど依存している。Mathematicaがないとロボトミー手術と同じか?いやそれ以前に前頭葉が萎縮していてMethematicaがその肩代わりをしている?はっはっはっは。僕にもっと仕事をさせたかったらMathematicaを6.0に上げて(今使っているのは5.0forMacOSX)クァドコアマシンでも寄越すんですな。え?Mathematicaに給料出すって?


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。