Ruby遊び

晴。
音楽を聴く。■バッハ:フーガの技法〜Contrapunctus 1-10(ミュンヒンガー、参照)。
Merkmal. メビウスの帯ってことはわかったけどなあ。これが何だというのか。
県営プール。温水の温度が既に高すぎる。泳いでいて顔がほてりそう。
肉屋。スーパー。
プロジェクト・オイラーProblem 71 が超キレイに解けて、自分で感動した。これ以上の方法はないと思う。Ruby で 0.02秒。

せっかく Ruby をやっていて多少物理の知識もあるのだから、相対性理論Ruby で遊んでみることはできないかと思ってぐぐってみたら…、日本語で「Ruby 相対性理論」ではまったく引っかからないし(バンドの「相対性理論」がちょっと引っかかるくらい)、英語で「Ruby theory of relativity」でもまともにヒットしないとは…。ちなみに Python ではかなりヒットする(検索)。特にこの記事が詳しい。一般相対性理論用のテンソル計算ライブラリがあるようだ(参照)。さすがに Python である。残念ながら Ruby はまだまだだなあ。
Python は科学計算や画像化や、またその他諸々の強力なツールが揃っているので、組み合わせるとすごい力を発揮するということになっているようだ。すでに Ruby だけでなく、他の追随を許さないというのがたぶん現実である。
Ruby で果たしてテンソル計算ができるのだろうかとぐぐってみたら、GSL という数値計算ライブラリの Ruby ラッパー(rb-gslruby-gsl というのがある)で可能らしい。rb-gsl は NArray(有名)や Nmatrix というのが必要みたいだ。そのうち入れてみるかな。
しかし、Ruby ははっきり云って言語が優秀だから、おもしろい試みも絶えないので、期待してもいいのだと思う。ツールとして使いやすい Python は素晴らしいが、Ruby が言語としてそれより劣っているとはまったく思わない。まあ僕などは初心者なわけだが、Ruby でプログラミングをしたいというだけで題材をさがしているくらいだから。

RubyOpenGL してみた(参照)。