今日紹介するのは離散フーリエ変換は中国剰余定理としても理解できるというお話です。この見方をすると,合成積が離散フーリエ変換で積に化ける理由がよく分かります。
離散フーリエ変換
を正整数とし,
を
の原始
乗根をします。
長さ の複素数列
に
\begin{align}A_p= \sum_{k=0}^{N-1} a_k \cdot \zeta_N^{-kp}\end{align}を対応させるものを離散フーリエ変換と呼び,
で表します。
また, を
\begin{align}a_p= \frac{1}{N}\sum_{k=0}^{N-1} A_k \cdot \zeta_N^{kp}\end{align}に対応させるものを逆離散フーリエ変換と呼び,
で表します。
は線形同型写像で,
が逆写像になっていることが知られています。つまり,
のとき
が成り立ちます。
離散フーリエ変換はフーリエ変換の離散版として,解析的な文脈で語られるのが普通ですが,今日は代数的な視点から見てみようと思います。
多項式環での中国剰余定理
複素数体 上の1変数多項式環
を
で生成されるイデアル
で割った剰余環を
で表すことにします。
における中国剰余定理は次の形になります。
\prod_{k=0}^{N-1} \frac{\mathbb{C}[T]}{\langle f_k(T)\rangle}\end{align}は
特に が相異なる複素数で,\begin{align}f(T)=\prod_{k=0}^{N-1} (T-a_k)\end{align}のときを考えると,
であり,
なので,この場合の中国剰余定理の同型写像は \begin{eqnarray*}\frac{\mathbb{C}[T]}{\langle \prod_{k=0}^{N-1} (T-a_k)\rangle} &\to&\mathbb{C}^N \cong \prod_{k=0}^{N-1} \frac{\mathbb{C}[T]}{\langle T-a_k\rangle}, \\[2mm]
g(T) &\mapsto& (g(a_0),~g(a_2),~\dots,~g(a_{N-1}))\end{eqnarray*}となります。
この同型により,任意の に対し,次数が高々
の多項式
で
が成り立つものが唯一存在することが分かります。これを利用したのが最近一部ネットで話題の月の日数を与える多項式です。
離散フーリエ変換と中国剰余定理
離散フーリエ変換の代数的解釈
の場合を考えましょう。
の逆数
も
の原始
乗根なので\begin{align}T^N-1=\prod_{k=0}^{N-1}(T-\zeta_N^{-k})\end{align}と因数分解できます。よって中国剰余定理より\begin{eqnarray*}\varphi:\frac{\mathbb{C}[T]}{\langle T^N-1\rangle} &\to&\mathbb{C}^N \\[2mm]
g(T) &\mapsto& (g(1),~g(\zeta_N^{-1}),~\dots,~g(\zeta_N^{-p}),\dots,~g(\zeta_N^{-(N-1)}))\end{eqnarray*}は環同型となります。
この定義域である環 は,ベクトル空間としては
を基底とする
次元
-ベクトル空間です。この基底を並べたベクトルを
とおいて,
を
の元 \begin{align}\vec{a}\cdot \vec{T}=a_0+a_1T+a_2T^2+\dots a_{N-1}T^{N-1}\end{align}と同一視することができます (
は内積)。
離散フーリエ変換の定義を思い出すと,\begin{align}\varphi(\vec{a}\cdot \vec{T})=\mathcal{F}(\vec{a})\end{align}が成り立つことが分かります。つまり, という同一視を通し,環同型
は離散フーリエ変換
そのものと思うことができます。
逆離散フーリエ変換の代数的解釈
は同型なので逆写像
が存在します。
がどうなるのか見てみましょう。
の標準的な基底を
とします。
は
番目の成分が
でそれ以外の成分が
のベクトルです。
に対し \begin{align}\varphi\left(\frac{1}{N}\sum_{k=0}^{N-1} \zeta_N^{kp} T^k\right)=e_p\end{align}となります。
は
-代数の準同型なので
に対し \begin{eqnarray*}\varphi^{-1}(\vec{A})&=&\varphi^{-1}\left(\sum_{p=0}^{N-1} A_p e_p\right)=\sum_{p=0}^{N-1} A_p \varphi^{-1}(e_p) =\sum_{p=0}^{N-1}A_p\cdot\frac{1}{N}\sum_{k=0}^{N-1} \zeta_N^{kp} T^k\\
&=&\sum_{k=0}^{N-1}\left( \frac{1}{N}\sum_{\ell=0}^{N-1}A_p \zeta_N^{kp}\right)T^k=\mathcal{F}^{-1}(\vec{A})\cdot \vec{T}\end{eqnarray*}となり, は逆離散フーリエ変換と本質的に同じものであることが分かります。
合成積
さて は単なるベクトル空間としての同型ではなくて環同型です。
と
の演算を比較すると,足し算はどちらもベクトルの足し算と同じ構造で似たようなものですが,掛け算の方はかなり違って見えます。
は環の直積なので積の構造は単純です。
の積は成分ごとの積と定義され\begin{align}(A_0,\dots,A_{N-1})(B_0,\dots,B_{N-1})=(A_0B_0,\dots, A_{N-1}B_{N-1})\end{align}となります。
一方で と
の
での積は\begin{align}f(T)g(T)=\sum_{k=0}^{N-1}\left(\sum_{p+q \equiv k ~\mathrm{mod}~ N} a_pb_q\right)T^k \end{align}となります。
ここで, の添え字を
と解釈します。つまり,任意の整数
に対して
です (数列
を周期
の繰り返しになるように添え字を
全体に拡張したと解釈してもいいです)。すると,先ほどの積は \begin{align}f(T)g(T)=\sum_{k=0}^{N-1}\left(\sum_{p=0}^{N-1} a_pb_{k-p}\right)T^k \end{align}と書けます。
この係数を並べたベクトルは合成積と呼ばれます。
はベクトルの和を加法,合成積を乗法とした可換環になります。一見変わった環のような感じがしますが
を考えていることと同じです。
中国剰余定理の同型 を使うと,合成積の離散フーリエ変換がどうなるかすぐ分かります。
ここで は直積環
での積です (つまり成分ごとに積を取る)。以前と同じように
で,黒点
は内積の記号とします。
証明
合成積の定義より が
で成り立つ。
は環準同型だったので,
となる。
だったので,これは
を意味している。
証明終