離散Fourier変換(discrete Fourier transform)とは、長さ $N$ の数列 $f$ に $\widehat f(t)=\sum_kf(k)\zeta_N^{-tk}$($\zeta_N=e^{2\pi i/N}$)を対応させる変換であり、一般には有限アーベル群 $G$ 上の関数を指標 $\chi\colon G\to\mathbb{C}^{\times}$ で展開したときの係数 $\widehat f(\chi)=\sum_gf(g)\overline{\chi(g)}$ として定義される。指標全体は $G$ と同じ位数の双対群をなし、指標の直交関係から反転公式と Plancherel の等式が従う。畳み込みは変換で値ごとの積になり、平行移動と可換な線形写像(巡回行列など)はすべて指標で同時に対角化される。関数とその変換の台の大きさの積は群の位数以上である。
前提知識: アーベル群, 有限アーベル群の基本定理, 複素数, 内積空間
長さ $N$ の複素数の列 $f(0),\dots,f(N-1)$ に対し、$\zeta_N:=e^{2\pi i/N}$ を使って
$$
\widehat f(t)=\sum_{k=0}^{N-1}f(k)\,\zeta_N^{-tk}\qquad(t=0,1,\dots,N-1)
$$
と定めた列 $\widehat f$ を、$f$ の離散 Fourier 変換(discrete Fourier transform, DFT)という。添字 $k$ を $N$ で割った余り、すなわち巡回群 $\mathbb{Z}/N\mathbb{Z}$ の元と見ると、$k\mapsto\zeta_N^{tk}$ は $\mathbb{Z}/N\mathbb{Z}$ から絶対値 $1$ の複素数への準同型(指標)であり、離散 Fourier 変換は関数 $f$ を指標で展開したときの係数を与える。この見方は、任意の有限アーベル群の上の関数に同じ形で広がる。
高校数学の範囲で $\mathbb{Z}/N\mathbb{Z}$ の場合の反転公式・Parseval の等式・巡回畳み込みを扱う記事が 離散Fourier変換と反転公式、定義どおりなら $N^2$ 回かかる計算を $N\log N$ 程度に減らす算法を扱う記事が 高速Fourier変換 である。この記事では、有限アーベル群 $G$ の指標全体が $G$ と同じ位数の群(双対群)をなすことを証明し、その上で Fourier 変換を定義して、反転公式・Plancherel の等式・畳み込み定理、平行移動と可換な線形写像(巡回行列)の対角化、台の大きさについての不確定性原理を示す。
以下、$G$ は有限アーベル群とし、演算を $+$、単位元を $0$、位数を $\lvert G\rvert$ と書く。$\mathbb{C}^{\times}$ は $0$ でない複素数の乗法群である。
準同型 $\chi\colon G\to\mathbb{C}^{\times}$、すなわちすべての $g,h\in G$ で $\chi(g+h)=\chi(g)\chi(h)$ を満たす写像を、$G$ の指標(character)という。$G$ の指標全体の集合を $\widehat G$ と書く。$\chi,\psi\in\widehat G$ の積を $(\chi\psi)(g):=\chi(g)\psi(g)$ と定めると $\widehat G$ はアーベル群になり、これを $G$ の双対群(dual group)という。単位元はすべての $g$ で値 $1$ をとる自明な指標 $\chi_0$ である。
$n:=\lvert G\rvert$ とすると、Lagrangeの定理 により $ng=0$ なので $\chi(g)^n=\chi(ng)=\chi(0)=1$ である($\chi(0)=\chi(0)^2$ と $\chi(0)\ne0$ から $\chi(0)=1$)。したがって指標の値は $1$ の $n$ 乗根であり、$\lvert\chi(g)\rvert=1$、$\chi(-g)=\chi(g)^{-1}=\overline{\chi(g)}$ が成り立つ。とくに $\chi^{-1}=\overline\chi$ であり、$\widehat G$ は群になる(積が指標であることは $\chi\psi(g+h)=\chi(g)\chi(h)\psi(g)\psi(h)$ から分かる)。$\widehat G$ は $G$ から $1$ の $n$ 乗根全体(有限集合)への写像の集合に含まれるので有限である。
$G=\mathbb{Z}/N\mathbb{Z}$ とする。$t\in\mathbb{Z}$ について $\chi_t(k):=\zeta_N^{tk}$ は $k$ を $N$ で割った余りだけで決まり、指標である。逆に指標 $\chi$ は $\chi(1)$ で決まり($\chi(k)=\chi(1)^k$)、$\chi(1)^N=1$ なので $\chi(1)=\zeta_N^t$ となる $t\in\{0,\dots,N-1\}$ がある。よって $\widehat G=\{\chi_0,\dots,\chi_{N-1}\}$ であり、$\chi_s\chi_t=\chi_{s+t}$ なので $t\mapsto\chi_t$ は同型 $\mathbb{Z}/N\mathbb{Z}\to\widehat G$ である。巡回群の場合のこの計算と直交関係は 巡回群の指標と直交関係 にもある。
有限アーベル群 $G_1,G_2$ について、$(\chi_1,\chi_2)\mapsto\bigl((g_1,g_2)\mapsto\chi_1(g_1)\chi_2(g_2)\bigr)$ は群の同型 $\widehat{G_1}\times\widehat{G_2}\to\widehat{G_1\times G_2}$ である。
要点:逆写像は $\chi\mapsto(\chi(\cdot,0),\chi(0,\cdot))$ である。
右辺の写像が $G_1\times G_2$ の指標であることと、対応が準同型であることは定義から分かる。$\chi_1(g_1)\chi_2(g_2)$ が恒等的に $1$ なら、$g_2=0$、$g_1=0$ と置いて $\chi_1=\chi_0$、$\chi_2=\chi_0$ を得るので単射である。$\chi$ が $G_1\times G_2$ の指標なら、$\chi_1(g_1):=\chi(g_1,0)$、$\chi_2(g_2):=\chi(0,g_2)$ は指標で、$\chi(g_1,g_2)=\chi(g_1,0)\chi(0,g_2)$ なので全射である。$\square$
$G$ を有限アーベル群とする。
$G$ が自明群ならすべて明らかなので、そうでないとする。有限アーベル群の基本定理 の定理「不変因子分解の存在」により、ある整数 $k_1,\dots,k_r\ge2$ について同型 $\phi\colon G\to\mathbb{Z}/k_1\mathbb{Z}\times\cdots\times\mathbb{Z}/k_r\mathbb{Z}$ がある。指標は同型 $\phi$ との合成で 1 対 1 に移り合うので、$G$ がこの直積そのものである場合に示せばよい。
1:ex-dft-cyclic により $\widehat{\mathbb{Z}/k\mathbb{Z}}\cong\mathbb{Z}/k\mathbb{Z}$ であり、prop-dft-product を $r-1$ 回使うと $\widehat G\cong\prod_j\widehat{\mathbb{Z}/k_j\mathbb{Z}}\cong G$ となる。とくに $\lvert\widehat G\rvert=\lvert G\rvert$ である。
2:$g=(a_1,\dots,a_r)\ne0$ なら、ある $j$ で $a_j\not\equiv0\pmod{k_j}$ である。第 $j$ 成分だけを見る指標 $\chi(x_1,\dots,x_r):=\zeta_{k_j}^{x_j}$ をとると、$\chi(g)=\zeta_{k_j}^{a_j}\ne1$ である。
3:$\mathrm{ev}(g)(\chi):=\chi(g)$ と書く。$\mathrm{ev}(g)$ は $\widehat G$ の指標であり($(\chi\psi)(g)=\chi(g)\psi(g)$)、$\mathrm{ev}(g+h)=\mathrm{ev}(g)\mathrm{ev}(h)$ なので $\mathrm{ev}$ は準同型である。2 により核は $\{0\}$ なので単射であり、1 を $G$ と $\widehat G$ に使うと $\lvert\widehat{\widehat G}\rvert=\lvert\widehat G\rvert=\lvert G\rvert$ なので全射である。$\square$
1 の同型 $G\cong\widehat G$ は不変因子分解の選び方による(自然な同型ではない)。これに対して 3 の同型は選び方によらず、$G$ と $\widehat G$ の役割が対称であることを表している。Ser77 §3.1 Exercise 3.3(p. 26)は、1 のうち位数の等式 $\lvert\widehat G\rvert=\lvert G\rvert$ と 3 を、表現論の結果から導く道筋を演習として示している。
$G$ を有限アーベル群とする。
1:$\eta:=\chi\overline\psi=\chi\psi^{-1}$ とおくと、左辺は $S:=\sum_g\eta(g)$ である。$\chi=\psi$ なら $\eta=\chi_0$ で $S=\lvert G\rvert$ である。$\chi\ne\psi$ なら $\eta(a)\ne1$ となる $a$ がある。$g\mapsto g+a$ は $G$ の全単射なので $S=\sum_g\eta(g+a)=\eta(a)S$ であり、$S=0$ である。
2:$\chi(g)\overline{\chi(h)}=\chi(g-h)=\mathrm{ev}(g-h)(\chi)$ である(prf-dft-dual の 3 の記号)。$\widehat G$ に 1 を使うと、$\mathrm{ev}(g-h)$ が $\widehat G$ の自明な指標かどうかで和は $\lvert\widehat G\rvert=\lvert G\rvert$ か $0$ になる。thm-dft-dual の 2 により、$\mathrm{ev}(g-h)$ が自明であることと $g=h$ は同値である。$\square$
$G$ 上の複素数値関数全体を $\mathbb{C}^G$ と書き、内積を $\langle f,h\rangle:=\sum_{g\in G}f(g)\overline{h(g)}$ と定める。$a\in G$ に対し、$a$ で $1$、ほかで $0$ をとる関数を $\delta_a$ と書く。
$f\in\mathbb{C}^G$ に対し、$\widehat G$ 上の関数
$$
\widehat f(\chi):=\sum_{g\in G}f(g)\,\overline{\chi(g)}=\langle f,\chi\rangle\qquad(\chi\in\widehat G)
$$
を $f$ の Fourier 変換(有限群の上の Fourier 変換、離散 Fourier 変換)という。
$G=\mathbb{Z}/N\mathbb{Z}$ で ex-dft-cyclic の $\chi_t$ を使うと $\widehat f(\chi_t)=\sum_kf(k)\zeta_N^{-tk}$ であり、冒頭の式、離散Fourier変換と反転公式 の定義「離散Fourier変換」、高速Fourier変換 の定義「離散 Fourier 変換と高速 Fourier 変換」と一致する。以下 $\widehat f(\chi_t)$ を $\widehat f(t)$ とも書く。
$G$ を有限アーベル群、$f,h\in\mathbb{C}^G$ とする。
1:定義を代入して和の順序を入れ替えると
$$
\frac1{\lvert G\rvert}\sum_\chi\widehat f(\chi)\chi(g)=\sum_{x\in G}f(x)\cdot\frac1{\lvert G\rvert}\sum_\chi\chi(g)\overline{\chi(x)}
$$
であり、thm-dft-orthogonality の 2 により内側は $x=g$ のとき $1$、ほかで $0$ なので、右辺は $f(g)$ に等しい。
2:同じく
$$
\sum_\chi\widehat f(\chi)\overline{\widehat h(\chi)}=\sum_{x,y\in G}f(x)\overline{h(y)}\sum_\chi\chi(y)\overline{\chi(x)}
$$
であり、thm-dft-orthogonality の 2 により内側は $x=y$ のとき $\lvert G\rvert$、ほかで $0$ なので、右辺は $\lvert G\rvert\sum_xf(x)\overline{h(x)}$ である。$h=f$ とすれば後半を得る。
3:線形性は定義から明らかである。1 により $\widehat f=0$ なら $f=0$ なので単射であり、thm-dft-dual の 1 により $\dim\mathbb{C}^G=\lvert G\rvert=\lvert\widehat G\rvert=\dim\mathbb{C}^{\widehat G}$ なので全射でもある。$\square$
thm-dft-orthogonality の 1 と thm-dft-dual の 1 により、$\chi/\sqrt{\lvert G\rvert}$($\chi\in\widehat G$)は $\mathbb{C}^G$ の正規直交基底である。反転公式は $f$ をこの基底で展開した式であり、Plancherel の等式は展開の係数で内積を計算した式である。$G=\mathbb{Z}/N\mathbb{Z}$ では、$(t,k)$ 成分が $\zeta_N^{-tk}/\sqrt N$ の行列がユニタリ行列になることと同じである(この行列は ユニタリ行列 の例「離散 Fourier 変換の行列」の行列の複素共役であり、ユニタリ行列の複素共役はユニタリ行列である)。
$f,h\in\mathbb{C}^G$ の畳み込みを $(f*h)(g):=\sum_{x\in G}f(x)\,h(g-x)$ と定める。$a\in G$ について、$(\tau_af)(g):=f(g-a)$ で定まる線形写像 $\tau_a\colon\mathbb{C}^G\to\mathbb{C}^G$ を $a$ による平行移動という。
和の変数を $y=g-x$ と取り替えると $f*h=h*f$ が分かる。$G=\mathbb{Z}/N\mathbb{Z}$ では、添字を $N$ で割った余りで回す巡回畳み込みである(離散Fourier変換と反転公式 の定義「巡回畳み込み」)。
$f,h\in\mathbb{C}^G$ について $\widehat{f*h}=\widehat f\cdot\widehat h$(各 $\chi$ での値の積)である。
$y=g-x$ と置き換え、$\overline{\chi(x+y)}=\overline{\chi(x)}\,\overline{\chi(y)}$ を使うと
$$
\widehat{f*h}(\chi)=\sum_{g,x}f(x)h(g-x)\overline{\chi(g)}=\sum_{x,y}f(x)\overline{\chi(x)}\,h(y)\overline{\chi(y)}=\widehat f(\chi)\,\widehat h(\chi)
$$
である。$\square$
$G$ を有限アーベル群、$T\colon\mathbb{C}^G\to\mathbb{C}^G$ を線形写像とする。次の三つは同値である。
1 から 2:$k:=T\delta_0$ とおく。$\tau_a\delta_0=\delta_a$ と $f=\sum_af(a)\delta_a$ から $Tf=\sum_af(a)T\tau_a\delta_0=\sum_af(a)\tau_ak$ であり、その $g$ での値は $\sum_af(a)k(g-a)=(f*k)(g)$ である。
2 から 3:$f*k=k*f$ なので
$$
(\chi*k)(g)=\sum_{y}k(y)\chi(g-y)=\chi(g)\sum_yk(y)\overline{\chi(y)}=\widehat k(\chi)\,\chi(g)
$$
である。$\chi\ne0$ なので $\chi$ は固有値 $\widehat k(\chi)$ の固有ベクトルである。
3 から 1:$(\tau_a\chi)(g)=\chi(g-a)=\overline{\chi(a)}\chi(g)$ なので、各指標は $\tau_a$ の固有ベクトルでもある。thm-dft-inversion の 3 により指標全体は $\mathbb{C}^G$ の基底なので、$T$ と $\tau_a$ はどちらもこの基底で対角行列に表され、互いに可換である。
最後の主張:2 から 3 の計算で固有値が $\widehat k(\chi)$ と分かり、行列式は基底をなす固有ベクトルの固有値の積である。$\square$
$G=\mathbb{Z}/N\mathbb{Z}$ の場合が巡回行列である。数列 $c=(c(0),\dots,c(N-1))$ に対し、$(j,k)$ 成分が $c(k-j)$(添字は $N$ で割った余り)の $N$ 次正方行列 $C$ を巡回行列という。これは 離散Fourier変換と反転公式 の節「巡回行列の固有ベクトル」の定義と同じである。
上の巡回行列 $C$ と $t=0,\dots,N-1$ について、$v_t:=(1,\zeta_N^{t},\zeta_N^{2t},\dots,\zeta_N^{(N-1)t})^{\top}$ は
$$
Cv_t=\lambda_tv_t,\qquad\lambda_t:=\sum_{m=0}^{N-1}c(m)\,\zeta_N^{tm}
$$
を満たし、$\det C=\lambda_0\lambda_1\cdots\lambda_{N-1}$ である。すべての巡回行列は $v_0,\dots,v_{N-1}$ を並べた行列で同時に対角化される。
$(Cf)(j)=\sum_kc(k-j)f(k)=\sum_mc(m)f(j+m)$ である。$\check c(m):=c(-m)$ とおくと、これは $(f*\check c)(j)=\sum_xf(x)c(x-j)$ に等しい。$T:=C$ に thm-dft-invariant の 2 を $k=\check c$ で使えば、$v_t=\chi_t$ の固有値は $\widehat{\check c}(\chi_t)=\sum_mc(-m)\zeta_N^{-tm}=\sum_mc(m)\zeta_N^{tm}=\lambda_t$ であり、行列式も同じ定理から従う。$v_t$ の組は $c$ によらない。$\square$
$N=3$、$(c(0),c(1),c(2))=(x,y,z)$、$\omega:=\zeta_3$ とすると、$C=\begin{pmatrix}x&y&z\\z&x&y\\y&z&x\end{pmatrix}$ であり、cor-dft-circulant により
$$
x^3+y^3+z^3-3xyz=\det C=(x+y+z)(x+y\omega+z\omega^2)(x+y\omega^2+z\omega)
$$
である(左辺は行列式を直接展開した値)。因数分解 $x^3+y^3+z^3-3xyz=(x+y+z)(x^2+y^2+z^2-xy-yz-zx)$ の 2 つめの因子が、$1$ の原始 3 乗根を使ってさらに 1 次式の積に分かれることを示している。
$G=(\mathbb{Z}/2\mathbb{Z})^n$ とする。ex-dft-cyclic により $\mathbb{Z}/2\mathbb{Z}$ の指標は $x\mapsto(-1)^{sx}$($s\in\{0,1\}$)の 2 つであり、prop-dft-product により $G$ の指標は $\chi_s(x)=(-1)^{s\cdot x}$($s\in G$、$s\cdot x:=s_1x_1+\cdots+s_nx_n$)の $2^n$ 個である。Fourier 変換は
$$
\widehat f(s)=\sum_{x\in G}f(x)(-1)^{s\cdot x}
$$
となり、Walsh–Hadamard 変換とよばれる。$(s,x)$ 成分が $(-1)^{s\cdot x}$ の $2^n$ 次の行列を $H_n$ とすると、$H_n$ は実対称で、thm-dft-inversion の 1 により $H_n^2=2^nI$ である。$n=1$ では $H_1=\begin{pmatrix}1&1\\1&-1\end{pmatrix}$ であり、$x$ の成分を順に並べると $H_n$ は $H_1$ の $n$ 個のテンソル積(Kronecker 積)になる。
$f\in\mathbb{C}^G$ の台を $\operatorname{supp}f:=\{g:f(g)\ne0\}$ と書く。関数とその Fourier 変換は、同時に小さな台をもつことができない。
$f\in\mathbb{C}^G$、$f\ne0$ なら $\lvert\operatorname{supp}f\rvert\cdot\lvert\operatorname{supp}\widehat f\rvert\ge\lvert G\rvert$ である。
$\| f\|_2^2:=\sum_g\lvert f(g)\rvert^2$、$M:=\max_\chi\lvert\widehat f(\chi)\rvert$ とおく。$\lvert\chi(g)\rvert=1$ と Cauchy–Schwarzの不等式 により、各 $\chi$ で
$$
\lvert\widehat f(\chi)\rvert\le\sum_{g\in\operatorname{supp}f}\lvert f(g)\rvert\le\sqrt{\lvert\operatorname{supp}f\rvert}\,\| f\|_2
$$
なので $M^2\le\lvert\operatorname{supp}f\rvert\,\| f\|_2^2$ である。一方 thm-dft-inversion の 2 により
$$
\lvert G\rvert\,\| f\|_2^2=\sum_{\chi\in\operatorname{supp}\widehat f}\lvert\widehat f(\chi)\rvert^2\le\lvert\operatorname{supp}\widehat f\rvert\,M^2\le\lvert\operatorname{supp}\widehat f\rvert\,\lvert\operatorname{supp}f\rvert\,\| f\|_2^2
$$
である。$f\ne0$ より $\| f\|_2>0$ なので、両辺を割って主張を得る。$\square$
$H$ を $G$ の部分群とし、$f$ を $H$ の指示関数とする。$\widehat f(\chi)=\sum_{h\in H}\overline{\chi(h)}$ は、$\chi$ を $H$ に制限したものが $H$ の自明な指標なら $\lvert H\rvert$、そうでなければ thm-dft-orthogonality の 1(群 $H$ で $\psi=\chi_0$)により $0$ である。$H$ 上で自明な $G$ の指標は、剰余群 $G/H$ の指標と 1 対 1 に対応する($\chi$ に $g+H\mapsto\chi(g)$ を対応させる)ので、thm-dft-dual の 1 によりちょうど $\lvert G/H\rvert=\lvert G\rvert/\lvert H\rvert$ 個ある。よって $\lvert\operatorname{supp}f\rvert\cdot\lvert\operatorname{supp}\widehat f\rvert=\lvert H\rvert\cdot\lvert G\rvert/\lvert H\rvert=\lvert G\rvert$ である。$H=\{0\}$($f=\delta_0$、$\widehat f$ は定数 $1$)と $H=G$($f$ は定数 $1$、$\widehat f=\lvert G\rvert\delta_{\chi_0}$)はその両端である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| $G$ が可換(thm-dft-inversion) | $G=S_3$、準同型 $\chi\colon S_3\to\mathbb{C}^{\times}$ 全体、$f=\delta_{(1\,2)}-\delta_{(1\,3)}$ | 反転公式($f\ne0$ なのにすべての $\chi$ で $\sum_gf(g)\overline{\chi(g)}=0$) |
| 指標の値を $\mathbb{C}^{\times}$ にとる(thm-dft-dual) | $G=\mathbb{Z}/3\mathbb{Z}$、準同型 $G\to\mathbb{R}^{\times}$ 全体 | 準同型の個数が $\lvert G\rvert$ |
| $T$ が平行移動と可換(thm-dft-invariant) | $G=\mathbb{Z}/2\mathbb{Z}$、$Tf:=(f(0),0)$ | 指標がすべて $T$ の固有ベクトル |
どの行も、表に挙げた条件だけが外れている。
1 行目:巡回群の指標と直交関係 の例「反例:非可換群では 1 次元の指標が足りない」により、準同型 $\chi\colon S_3\to\mathbb{C}^{\times}$ は 3 つの互換で同じ値をとる。よって $\sum_gf(g)\overline{\chi(g)}=\overline{\chi((1\,2))}-\overline{\chi((1\,3))}=0$ である。$f\mapsto(\sum_gf(g)\overline{\chi(g)})_\chi$ は単射でないので、反転公式にあたる式はありえない。
2 行目:準同型 $\psi\colon\mathbb{Z}/3\mathbb{Z}\to\mathbb{R}^{\times}$ では $\psi(1)^3=\psi(3)=\psi(0)=1$ であり、実数で $x^3=1$ となるのは $x=1$ だけなので、$\psi$ は自明なものしかない。個数は $1\ne3$ である。
3 行目:$\chi_1=(1,-1)$ について $T\chi_1=(1,0)$ は $\chi_1$ の定数倍でない。実際 $T\tau_1f=(f(1),0)$、$\tau_1Tf=(0,f(0))$ で、$T$ は平行移動と可換でない。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する