[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002110] Re: チュー トリアル
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002110] Re: チュー トリアル
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Sun, 06 Feb 2005 15:04:48 +0900
常定様
> 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 宇治市五ヶ庄