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

[dennou-ruby:000899] Re: numfft



堀之内です。

>   (2) 多次元対応。これは ruby のみのプログラミングとなります。
...
>       規化のためのファクターで割って正規化して下さい。効率上、最
>       後に div! を使ってということになりますね。

そうそう、効率といえば、最もいいのは多次元対応の部分も C で書く
ことではあります(つまり今までの路線)。でも開発速度は ruby で閉
じたプログラミングのほうが断然上でしょう。ただ、どれくらい違うか
はよくわかりません。後者で一番無駄になるのは、1次元配列の ruby 
オブジェクトが FFT の回数分生成されることです。恐らく FFT 本体が
軽くなる短い長さの FFT でははっきりと違いが現れるでしょう。 FFT 
そのものに時間がかかる要素数 1000 個とかの長い次元についての計算
はほとんど変らないはず。どちらをとるかは任せます。いずれにしても 
C版dclを利用することで f2c の手間は省けます。

# シミュレーションでは次元の長さは比較的短くて多次元(FFTの回数
   は多い)ということが多いので、違いが現れやすい(つまり C でプ
   ログラムするほうが望ましい)と思いますが。こういうときは例えば
   128*128 の2次元配列とか、64*32*16 の3次元配列とかが対象にな
   ります。後者は露骨に違いそうな気がする。