.(← 前のページへ // 次のページへ →)
 2. 式の変形

 N の値が特別な場合には,上記の式をうまく変形することによって,これらの計算を効率よく行えるはずである。ここでは,(A-1) 式の変形を行うことにする。((A-2) 式については,(A-1) 式とほぼ同様の変形が行えるだろう。)

 ただし,ここでの変形は,主に N の値が 2 の累乗( 2s の形)のときに『効率が良い』ものであって,その他の場合では,必ずしも最も『効率が良い』わけではないことを注意しておく。[→A. 参考文献など (2)]

 なお (B) からは,以下のような関係式が得られる。(ただし α,β≠0)

WNN=1 ………(B-1a)
Wαββ=Wα ………(B-1b)
W2とW4とW8の値 ………(B-1c)

(1) N が整数 α(α≧2) で割り切れるとき (2個の整数の積に分解)

 N/α も整数だから,(A-1) 式の k , n について,

   kとnの式(1)

とおけて,このとき (A-1) 式は次のように変形できる。

    FNkの変形(1)

ここで (B-1a, b) を使うと,

    FNkの変形(C1) ………(C-1)

 (A-1) では,W の計算を除くと,N2 回程度の複素数の掛け算があるのに対し,(C-1) では,

Σn1 のところで αN 回程度,
Σn2 のところで N2/α 回程度,

なので,通常は,掛け算の回数がかなり減ることになる。したがって,Σ をさらに『分解』していけば,掛け算の回数がどんどん減っていくと思われる。

(2) N が整数 α12122) で割り切れるとき (3個の整数の積に分解)

 N/α1α2も整数だから,(A-1 )式の k , n について,
  kとnの式(2)

とおけて,このとき (A-1) 式は,(C-1) 式と同様の手順を踏めば,次のように変形できる。

    FNkの変形(2) ………(C-2)

(3) N = α1α2 ……αs, (α12,……,αs2) のとき (s 個の整数の積に分解)

 (1) (2) と同様にすれば,(A-1) 式の k , n について,

  kとnの式(3)

とおけて,このとき (A-1) 式は,次のように変形できる。

FNkの変形(C)

………(C)

 ここで,(C) 式の W の部分に着目する。

 nm (2ms) の和をとるところの W の部分は,(B-1b) を使って次のように変形できる。

    nmのWの変形

 こうすると,例えば,αm= 2, 4, 8のとき,(C) 式の計算量がかなり減るのがわかるだろう。
 なぜなら,(B-1c) 式からわかるように Wαmkmnm をかけることは,
・符号を変える。
・複素数の実部と虚部の加減算をする,入れ替える。
・少しだけ掛け算をやる。
にほかならず,残りの部分,

    残りのW(a)

km によらない数になっているからである。また,

     (α1α2…αm-2km-1+……+α1k2+ k1)nm <α1α2…αm

であることに注目しよう。これは, Wαmkmnm を考えなければ,計算に使う W の値は,せいぜい N 個の複素数を用意しておけば良いことを示している。

 ここで (C) 式を次のように変形しておく。

FNkの変形(Ca)

………(C-a)

 (C-a) 式からわかるように,Σn1から計算をしていくと,Σn2Σn3と進むにつれて,『n の変数』が(n1から)減り,それにともない『k の変数』が(k1から)増えているのがわかる。

 以上は,W の指数部を nm についてまとめた場合であるが,今度は km についてまとめてみる。

 このとき,(C-a) に相当する式は次のようになる。

FNkの変形(Cb)

………(C-b)

 なお nm の和をとるところの W の部分

    残りのW(b)

は,nm によらない数になっている。また,

    km(nm+1αm+2…αs-1αs+……+ns-1αs+ns) <αmαm+1…αs-1αs

だから,Wαmkmnm を考えなければ,計算に使う W の値は,せいぜい N 個の複素数を用意しておけば良い。このことを含めその他のことも,(C-a) 式のときと同様である。

 さて,以上のことをふまえて (C-a, b) 式から, 実際の計算で使いやすいであろう漸化式を作ってみる。

(← 前のページへ // 次のページへ →)


MIDI Lab へようこそTOPページ
//
<研究室の書庫>
/
『離散値フーリエ変換の計算』の
もくじ