G 为有限交换群,
∣G∣=n.
F(G,C)={f:G→C} 为
C− 线性空间,
dimF=n.
定义同态映射
χ:G→C× s.t. ∀g,h∈G,χ(g)χ(h)=χ(gh).
(事实上 对于每个不可约的
ρ:G→GL(V) 有
χρ:g↦Tr(ρ(g)).)
定义
G^={χi} 为
G 的对偶群, 其中的运算为
χ1χ2(g)=χ1(g)χ2(g).
∣G^∣=∣G∣. 证明: 对于循环群
<a∣an=1>, 显然所有的
n 个
χ 由
χk(a)=εk 生成,
ε=en2πi.
任意有限交换群均可分解为若干个循环群的直积, 对于
G≅G1×G2,
χ1∈G1^,χ2∈G2^ 有
χ(g)=χ1(g1)χ2(g2)∈G^ (g=(g1,g2)∈G), 反之同理.
显然有自然同构
φ:G↔G^^,g↔(f:χ↦χ(g)). 记
g(χ)=φ(g).
定义内积
⟨f,g⟩=n1x∈G∑f(x)g(x), 则
G^ 构成
F(G,C) 的单位正交基.
证明:
G 有限
⇒∣χ(g)∣=1⇒χ(g)=χ(g)1=χ−1(g)=χ(g−1).
⟨χi,χj⟩=n1g∈G∑χi(g)χj(g)=n1g∈G∑(χiχj−1)(g).
g∈G∑χ(g)=g∈G∑χ(gh)=χ(h)g∈G∑χ(g)⇒ 若
∀h∈G,χ(h)=1 即
χ=eG^ 则
g∈G∑χ(g)=n, 否则
LHS=0.
⇒⟨χi,χj⟩=[χiχj−1=e]=[i=j].
完整的 Fourier Transform:
f:G→C,f=i=1∑n⟨f,χi⟩χi.
证明:
i=1∑n⟨f,χi⟩χi(g)=i=1∑nh∈G∑f(h)χi(h)χi(g)=h∈G∑f(h)i=1∑nχi(g)χi(h)=h∈G∑f(h)⟨g,h⟩=f(g). 注意此处的
⟨g,h⟩ 是
F(G^,C) 上的内积.
对于
n−1 次多项式
F(x), 取
G=Z/nZ=({0,1,⋯,n−1},+), 则
χk(g)=εgk.
f:k↦[xn−k]F(x)⇒n⟨f,χk⟩=g=0∑n−1f(g)χk(g)=g=0∑n−1[xn−g]F(x)εk(n−g)=F(εk).
[xn−g]F(x)=f(g)=k=1∑n⟨f,χk⟩χk(g)=n1k=1∑nF(εk)εgk, 即为多项式的DFT.
记
Zn=Z/nZ.
取
n=2m, 则
2Zm={0,2,⋯,2(m−1)} 为
Zn 的子群,
Zn=(2Zm)∪(1+2Zm).
n⟨f,χ⟩=g∈Zn∑f(g)χ(g)=g∈2Zm∑(f(g)χ(g)+f(g+1)χ(g)χ(1))=m⟨f1,χ′⟩+χ(1)m⟨f2,χ′⟩.
其中
f1,f2,χ′:2Zm→C,f1(g)=f(g),f2(g)=f(g+1),χ′(g)=χ(g)⇒χ′ 为
2Zm 的同态.
这样转化到了一个更小的群上, 得到 FFT 的迭代形式.
FWT 中下标的运算为各位独立的不进位加法, 则对应的群
G=(Z2)n,∣G∣=2n.
Z2 上有
χ1(g)=1,χ2(g)=(−1)g. 从而
G 上的
χk(g)=i∈I∏(−1)ai⋅i∈I∏1=(−1)∣g∩k∣, 其中
g=(an⋯a1)2,k 为集合
I 的二进制表示.
k 取遍
0∼2n−1 时得到 FWT 的全部系数.
k− FWT 只需把
Z2 换成
Zk.