专栏文章

FFT和FWT的群论本质

算法·理论参与者 3已保存评论 2

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
2 条
当前快照
3 份
快照标识符
@mkfp8ote
此快照首次捕获于
2026/01/16 01:04
上个月
此快照最后确认于
2026/02/19 01:21
16 小时前
查看原文
GG 为有限交换群, G=n|G|=n. F(G,C)={f:GC}F(G,\mathbb C)=\{f:G\to \mathbb C\}C\mathbb C- 线性空间, dimF=n\dim F=n.
定义同态映射 χ:GC× s.t. g,hG,χ(g)χ(h)=χ(gh)\chi:G\to \mathbb C^\times \ s.t. \ \forall g,h\in G,\chi(g)\chi(h)=\chi(gh).
(事实上 对于每个不可约的 ρ:GGL(V)\rho:G\to \text{GL}(V)χρ:gTr(ρ(g)).\chi_\rho: g\mapsto\text{Tr}(\rho(g)).)
定义 G^={χi}\hat G=\{\chi_i\}GG 的对偶群, 其中的运算为 χ1χ2(g)=χ1(g)χ2(g)\chi_1\chi_2(g)=\chi_1(g)\chi_2(g).

G^=G|\hat G|=|G|. 证明: 对于循环群 <aan=1><a|a^n=1>, 显然所有的 nnχ\chiχk(a)=εk\chi_k(a)=\varepsilon^k 生成, ε=e2πin\varepsilon=e^\frac{2\pi i}{n}.
任意有限交换群均可分解为若干个循环群的直积, 对于 GG1×G2G\cong G_1\times G_2, χ1G1^,χ2G2^\chi_1\in\hat{G_1},\chi_2\in \hat{G_2}χ(g)=χ1(g1)χ2(g2)G^ (g=(g1,g2)G)\chi(g)=\chi_1(g_1)\chi_2(g_2)\in \hat G\ (g=(g_1,g_2)\in G), 反之同理.

显然有自然同构 φ:GG^^,g(f:χχ(g))\varphi:G\leftrightarrow \hat{\hat{G}},g\leftrightarrow (f:\chi\mapsto \chi(g)). 记 g(χ)=φ(g)g(\chi)=\varphi(g).

定义内积 f,g=1nxGf(x)g(x)\displaystyle\langle f,g\rangle=\dfrac 1n\sum_{x\in G} f(x)\overline{g(x)}, 则 G^\hat G 构成 F(G,C)F(G,\mathbb C) 的单位正交基.
证明: GG 有限 χ(g)=1χ(g)=1χ(g)=χ1(g)=χ(g1).\Rightarrow |\chi(g)|=1\Rightarrow \overline{\chi(g)}=\dfrac{1}{\chi(g)}=\chi^{-1}(g)=\chi(g^{-1}).
χi,χj=1ngGχi(g)χj(g)=1ngG(χiχj1)(g)\displaystyle\langle \chi_i,\chi_j\rangle=\dfrac 1n\sum_{g\in G}\chi_i(g)\overline{\chi_j(g)}=\dfrac 1n\sum_{g\in G} (\chi_i\chi_j^{-1})(g).
gGχ(g)=gGχ(gh)=χ(h)gGχ(g)\displaystyle \sum_{g\in G} \chi(g)=\sum_{g\in G} \chi(gh)=\chi(h)\sum_{g\in G} \chi(g)\RightarrowhG,χ(h)=1\forall h\in G,\chi(h)=1χ=eG^\chi=e_{\hat G}gGχ(g)=n\displaystyle \sum_{g\in G}\chi(g)=n, 否则 LHS=0\text{LHS}=0. χi,χj=[χiχj1=e]=[i=j].\Rightarrow\langle \chi_i,\chi_j\rangle=[\chi_i\chi_j^{-1}=e]=[i=j].

完整的 Fourier Transform: f:GC,f=i=1nf,χiχi\displaystyle f:G\to\mathbb C,f=\sum_{i=1}^n \langle f,\chi_i\rangle\chi_i.
证明: i=1nf,χiχi(g)=i=1nhGf(h)χi(h)χi(g)=hGf(h)i=1nχi(g)χi(h)=hGf(h)g,h=f(g)\displaystyle\sum_{i=1}^n \langle f,\chi_i\rangle \chi_i(g)=\sum_{i=1}^n\sum_{h\in G} f(h)\overline{\chi_i(h)}\chi_i(g)=\sum_{h\in G}f(h)\sum_{i=1}^n\chi_i(g)\overline{\chi_i(h)}=\sum_{h\in G} f(h)\langle g,h\rangle=f(g). 注意此处的 g,h\langle g,h\rangleF(G^,C)F(\hat G,\mathbb C) 上的内积.

对于 n1n-1 次多项式 F(x)F(x), 取 G=Z/nZ=({0,1,,n1},+)G=\mathbb Z/n\mathbb Z=(\{0,1,\cdots,n-1\},+), 则 χk(g)=εgk\chi_k(g)=\varepsilon^{gk}.
f:k[xnk]F(x)nf,χk=g=0n1f(g)χk(g)=g=0n1[xng]F(x)εk(ng)=F(εk)\displaystyle f:k\mapsto [x^{n-k}]F(x)\Rightarrow n\langle f,\chi_k\rangle=\sum_{g=0}^{n-1} f(g)\overline{\chi_k(g)}=\sum_{g=0}^{n-1} [x^{n-g}]F(x)\varepsilon^{k(n-g)}=F(\varepsilon^k).
[xng]F(x)=f(g)=k=1nf,χkχk(g)=1nk=1nF(εk)εgk\displaystyle [x^{n-g}]F(x)=f(g)=\sum_{k=1}^n \langle f,\chi_k\rangle \chi_k(g)=\dfrac 1n\sum_{k=1}^n F(\varepsilon^k)\varepsilon^{gk}, 即为多项式的DFT.
Zn=Z/nZ\mathbb Z_n=\mathbb Z/n\mathbb Z.
n=2mn=2m, 则 2Zm={0,2,,2(m1)}2\mathbb Z_m=\{0,2,\cdots,2(m-1)\}Zn\mathbb Z_n 的子群, Zn=(2Zm)(1+2Zm)\mathbb Z_n=(2\mathbb Z_m)\cup(1+2\mathbb Z_m).
nf,χ=gZnf(g)χ(g)=g2Zm(f(g)χ(g)+f(g+1)χ(g)χ(1))=mf1,χ+χ(1)mf2,χ\displaystyle n\langle f,\chi\rangle=\sum_{g\in\mathbb Z_n} f(g)\overline{\chi(g)}=\sum_{g\in2\mathbb Z_m} (f(g)\overline{\chi(g)}+f(g+1)\overline{\chi(g)\chi(1)})=m\langle f_1,\chi'\rangle+\overline{\chi(1)}m\langle f_2,\chi'\rangle.
其中 f1,f2,χ:2ZmC,f1(g)=f(g),f2(g)=f(g+1),χ(g)=χ(g)χf_1,f_2,\chi':2\mathbb Z_m\to \mathbb C,f_1(g)=f(g),f_2(g)=f(g+1),\chi'(g)=\chi(g)\Rightarrow \chi'2Zm2\mathbb Z_m 的同态.
这样转化到了一个更小的群上, 得到 FFT 的迭代形式.

FWT 中下标的运算为各位独立的不进位加法, 则对应的群 G=(Z2)n,G=2nG=(\mathbb Z_2)^n,|G|=2^n.
Z2\mathbb Z_2 上有 χ1(g)=1,χ2(g)=(1)g\chi_1(g)=1,\chi_2(g)=(-1)^g. 从而 GG 上的 χk(g)=iI(1)aii∉I1=(1)gk\displaystyle\chi_k(g)=\prod_{i\in I}(-1)^{a_i}\cdot\prod_{i\not\in I} 1=(-1)^{|g\cap k|}, 其中 g=(ana1)2,kg=\overline{(a_n\cdots a_1)}_2,k 为集合 II 的二进制表示. kk 取遍 02n10\sim 2^n-1 时得到 FWT 的全部系数.
kk- FWT 只需把 Z2\mathbb Z_2 换成 Zk\mathbb Z_k.

评论

2 条评论,欢迎与作者交流。

正在加载评论...