next up previous
Next: C. Up: B. 線形計算ソフトウェアの発展 (駆け足説明) Previous: なぜ高い実行効率が得られるか


B..2 MATLAB とその互換システムの登場

MATLAB は EISPACK の開発にも関わった C.Moler が作成したシステムで、 彼が創立した MathWorks 社から販売されている。
MATLAB の特徴
  • インタープリター型言語である。そのため16
    • 対話的で使いやすいシステムになっている。
    • 注意深く利用しないと実行効率が低くなる17 (個々の命令の実行時に命令解釈のコストが必要なため、 繰り返し処理を多用すると計算時間が長くなりがちである)。
  • LAPACK などの各種数値計算ライブラリィを内蔵している (これらのライブラ リィ群へのインターフェイスであると理解すべきかもしれない)。
  • ベクトル、行列などのデータの型が始めから定義されているので、 命令が簡潔になっていて、プログラミングも楽になった 18

MATLAB をいかに評価するかであるが、筆者は最近

案外大したものではないか、ひょっとするとコロンブスの卵で大発明?
と考えるようになった。 このようなシステムを作るのは実は簡単で (実際、以下紹介するように 「真似」がたくさん出て来た)、しかし使ってみると分るが、 非常に便利である。 日本の数学界ではあまり人気がない (というか知られていない) ようであるが、 工学の世界では浸透している。

MATLAB は現在も改良が続けられていて、 行列計算関係では、 疎行列向けの処理反復法なども採り入れられている。 簡単な偏微分方程式のシミュレーションへの応用も十分可能なレベルに成長した。

MATLAB を後を追ったシステムがたくさん開発されたが、 MATLAB の言語仕様は「準標準」となっている。MATLAB と似たシステムとして、 Octave を紹介する。 これは MATLAB との互換性が高く、 残念ながら疎行列専用の処理が用意されていないが、 入門には十分であるし、用途を選べば実用性も高い。


next up previous
Next: C. Up: B. 線形計算ソフトウェアの発展 (駆け足説明) Previous: なぜ高い実行効率が得られるか
Masashi Katsurada
平成20年10月18日