• ベストアンサー

多次元フーリエ変換のプログラムについて

ある物理量に関して物理空間(x,y,z,t)と周波数・波数空間(kx,ky,kz,ω)の変換ができるプログラムを探しています。多次元フーリエ変換(この場合は4次元フーリエ変換?)のプログラムになると思いますが、ネット上などで検索できるでしょうか。1次元の場合は手元にありますが、それを変形して作成することができるかな?と思っていますが。それよりもこのようなプログラムはちゃんとしたものが1つあればよいわけですから、しっかりした既存のものを使いたいです。変換のアルゴリズムはFFTになると思いますが、そうでなくてもいいのです。ブラックボックス的なことでよいのですが。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

 各次元について1次元フーリエ変換をやるだけです。  y,z,tを固定するとf(x,y,z,t)はxだけの関数。これをxについて1次元フーリエ変換する。全てのy,z,tの組み合わせについて計算します。その結果をF1(kx,y,z,t)とします。  kx,z,tを固定するとF1(kx,y,z,t)はyだけの関数。これをyについて1次元フーリエ変換する。全てのkx,z,tの組み合わせについて計算します。その結果をF2(kx,ky,z,t)とします。  …以下同様。  これで旨く行くのは exp(-i(x kx + y ky + z kz + tω)) = exp(-i(x kx)) exp(-i(y ky))exp(-i(z kz)) exp(-i(tω)) だから。

その他の回答 (1)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

http://www.kurims.kyoto-u.ac.jp/~ooura/fftman/ みたいなもの? っていうか、 「ネット上などで検索できるでしょうか。」 検索してみればいいじゃん。

関連するQ&A