1.1 Python を始める理由

一言で言うと, アンテナを張っていて, 面白そう,数値計算環境として便利そう,と感じていたところ, 最後のひと押しのきっかけがあったからである。

2010年度の卒研では,Ruby で数値計算したのだが, その際は,どうせ常微分方程式の初期値問題で, 計算のスピードは大して必要ではないだろう, ネタ本 (とんでる力学) で使われていて, ベクトルを気軽に使えそうで, Runge-Kutta 法なども見た目スマートに書けそうだなあ, 一つ試してみよう, と気楽に考えたのだが,色々調べていて, 結構大きい計算をしている人もいるらしいことが分った。 考えてみれば,最近使っている MATLAB も基本はインタープリターで, ただ大きめの仕事をする LAPACK のルーチンなどを高い効率で実現して, そういうものを呼び出し効率を稼いでいることに気がついた。 インタープリターであることは必ずしも実効速度が遅いことを意味しない。 Ruby や, それと競っている Python のような言語での数値計算は, やりようによっては使い物になるかも? と考えるようになった。

一方で MATLAB を使い込むにつれ, その言語としての拡張性に疑問を持つようになった。 INTLAB のような成功例はあるものの, 自分で拡張をしようとして調べだすと, 正直嫌気がさすところがあった。

そんなときに,実際に Python で数値計算をしている人を見た。 やはり百聞は一見に如かずで,面白そうに感じた。 試してみようという気持ちが一気に高まった。

これを書いているのは,触り始めてから3週間が経過した時点である。 実に色々な数値計算ライブラリィが Python の上で利用できるようになっている ことが分った。

まだまだ分からない部分も多いし, 現時点では効率で MATLAB に及ばないところも確かにあるようだ。 それでも,これからの数値計算環境として有望そうという感触は変わっていない。 これで得られる経験は,Python 自身が実を結ばなくても後々役に立つのではないか? と思っている。

桂田 祐史
2017-12-10