[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次元配列とかが対象にな
ります。後者は露骨に違いそうな気がする。