Fft struct

提供: ComplexRI: Manual
2026年5月26日 (火) 04:16時点におけるHirano (トーク | 投稿記録)による版 (ページの作成:「 == 概要 ==  プログラムの本体に直接高速フーリエ変換ライブラリの関数を使ってしまうと、ライブラリの移行が困難になる。…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

 プログラムの本体に直接高速フーリエ変換ライブラリの関数を使ってしまうと、ライブラリの移行が困難になる。 また、一般に汎用ライブラリは呼び出し方法等が煩雑である場合が多い。 そこでラッパーとなるfft_struct を用意することでこれらの問題を抑止する。 fft_struct では使用のしやすさを重視し、計算のオーダーが変わらなければプログラムの速さやメモリ使用量は一部犠牲にする。

プロシージャ

subroutine init(ndim, nx(:),dx(:)[,method])
初期設定を行う。
   ndim: 次元数
   nx(:): 各次元のデータ数
   dx(:): 各次元の分解能(データ間隔)
   method: フーリエ変換の種類(後述)
function forward(f)
f のフーリエ変換を返す。
function backward(f)
f の逆フーリエ変換を返す。
subroutine last()
ポインタの解放を行う。
subroutine get_fourier_resolution(dk(:))
フーリエ変換後の分解能(データ間隔)を得る。

フーリエ変換の種類

method = 10
 によるフーリエ変換。 未作成。
method = 11
 によるフーリエ変換。 未作成。
method = 20
 によるフーリエ変換。

   において が対称軸になる場合。 1次元にのみ対応。

method = 21
 によるフーリエ変換。

   において が対称軸になる場合。 未作成。

method = 22
 によるフーリエ変換。

   において が対称軸になる場合。 未作成。

method = 23
 によるフーリエ変換。

   において が対称軸になる場合。 未作成。

method = 30
によるフーリエ変換。

   において が対称軸になる場合。 未作成。

method = 31
 によるフーリエ変換。

   において が対称軸になる場合。 未作成。

method = 32
によるフーリエ変換。

  において が対称軸になる場合。 未作成。

method = 33
 によるフーリエ変換。

   において  が対称軸になる場合。 未作成。