[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002110] Re: チュー トリアル



常定様

>   Ruby/GSL を紹介していただけるんですね。どうも
> ありがとうございます。実は、都合つけば出席させて
> もらって、しゃべらせてもらえないかななどと思ってい
> たのですが、ちょっと無理そうなので黙ってました。
> 塚原さんよろしくお願いします。何か質問等あれば
> ご遠慮なく。

もし都合がつくようになりましたらお知らせ下さい。
わざわざ京都まで来て頂く気をお持ちとは大変嬉しいです。
(今ならまだ旅費も出せますが、そのうち確定してしまい
ます。--- きちんと締め切りが言えなくてすみません。現在
配分決めはサドンデスに近い状況です。)

>   昨日、少しいじって1.6.0->1.6.1にバージョン
> アップしました。
>   http://rubyforgerg/projects/rb-gsl/.
> 大きな機能変更はありませんが、NArrayとよりフレンドリ
> になったかと思います。例えば正弦関数 
> GSL::Sf::sin(x) に対しxは単なる数、Array,
> GSL::Vector, GSL::Matrixが可能で、element-wise 
> に計算してその種のオブジェクトとして返るのですが、
> これをNArrayのオブジェクトも取れるようにしたなど。
> 他にもウェーブレットや interpolation などでも 
> NArray をそのまま使えます。お試し下さい。

NArrayサポートが増えたのは大変喜ばしいです。ところで、つい最近補
間の必要があってGSLについてちょっと調べました。補間に使う元デー
タは当然配列的なデータになりますが、私が見落としてなければ、補間
先の指定に関しては、GSLでは一点のみ指定する関数があるだけのよう
です(つまり1コールで1点分の補間を行う)。ところが、メッシュに
切った格子点データの座標変換などで、大量の補間(例えば O(10^8) 
回ぐらい)が必要な場合は良くあります。実際私のしたいことはそうで
す。その場合、補間を一点一点行うと大きなオーバーヘッドになり、実
用に耐えないケースがでます。それに対処するには、GSLの関数そのま
まのRubyインターフェースでなく、C でループを回す関数を作り、それ
に対する Ruby インターフェースを使う必要があります。補間の場合で
言えば、補間先の指定を NArray で受け付け、その各要素に対してルー
プを回せばいいので、やることは単純です。

このように大量データの処理という観点から、CでGSLの応用関数を書い
た上で Ruby インターフェースを作られる計画はお持ちでしょうか。
(..そうなればいいな、と思ってます。有り体に言えば。。。 (^^;) )

話は変りますが、Ruby 1.8 で導入された dl という標準ライブラリー
を使われたことはありますか。ラッパーをCで書かなくていいみたいで、
大変有用そうです。使いやすさとパフォーマンスがどんなもんか気にな
ります。(最近 ruby-dev で dl の実装をやり直すという話題がでて、
何だろうと思って存在に気づきました。)

堀之内 武                    horinout@xxxxxxxxxxxxxxxxxx
京都大学生存圏研究所               611-0011 宇治市五ヶ庄