ちょっと数値計算に関心があって,Octave を ThinkPad X20 の FreeBSD にインストールする。Octave は,数値計算ソフト MATLAB(理科のひとならよく知っているであろう高価な市販品)の互換フリーソフトウェアである。貧者の MATLAB というわけだが,多項式関数の計算はもちろん,行列演算や統計解析,微分方程式の計算など高度な数値計算が可能である。なおかつ計算精度も高いとされている。gnuplot を使ったグラフ描画もできる。
身の回りの四則計算くらいなら Excel が便利だしそれで充分なのだけれど,計算機の浮動小数点演算は,算法と誤差との問題においてデリケートであって,論文のため等で統計解析やシミュレーションのシビアな計算をしたいのなら,MATLAB などの専門的数値計算ソフトウェアを使うべきである。信頼できる研究者,計算機の数理の専門家によって検証がなされているし,研究の現場での実績もある。一方 Excel はときにとんでもない計算を行うようである。
Octave は演算を高速化するため,FFTW,ATLAS というライブラリを使う。ドキュメントのタイプセットには数式の得意な LaTeX を必要とする。Octave も ATLAS も,FORTRAN,C/C++ で書かれた巨大なパッケージであり,コンパイルに途方もなく時間がかかる。待ちくたびれて計算機を動かしたまま寝てしまった。翌朝もそのまま放置して出勤した。ところが帰宅してみると,なんと PC の電源が落ちているではないか。家族の誰かのしわざか。瞬時停電か。いやな予感に苛まれつつブートさせたところ,南無三宝,果たしてファイルシステムがクラッシュしていた。手動で fsck を実行し,壊れたファイルを salvage しつつなんとかシステム起動に成功した。Octave の make を再実行すると,ATLAS ライブラリのコンパイルが途中から動き出した。要するに一晩動いてまだ終了していなかったわけである。いまも実行中である。