是充实了的生命,正如盛满了酒的酒杯。

# 隐含子群问题

隐含子群问题:给定一个群GG,一个函数f:GSomethingf:G\rightarrow Something,满足存在一个子群HH,使得ffHH 的不同陪集上互异,同一个陪集上相同。试求这个HH

  • 例 1:若给定群G={0,1}n,G=\langle \{0,1\}^n,\oplus\rangleff 为一个函数满足f(x)=f(xs)f(x)=f(x\oplus s)。那么如果有一个计算ff 的黑盒,我们想求ss,就相当于求子群K={0,s}K=\{0,s\}
  • 例 2:离散对数问题。给定群G=Zr×Zr,+(mod  r)G=\langle \mathbb{Z}_r\times\mathbb{Z}_r,+(mod\;r)\rangle,和函数ff 满足f(x1,x2)=ax1bx2f(x_1,x_2)=a^{x_1}b^{x_2}。那么要求s=logabs=log_ab 的话(模rr 意义),那么就相当于求解一个子群:K={(l,ls)    lZr},+(mod  r)K=\langle\{(l,-ls)\;|\;l\in\mathbb{Z}_r\},+(mod\;r)\rangle,其实也就是这个周期是一个二维的。

我们下面只考虑有限 Abel 群上的隐含子群问题。而有限 Abel 群的特点是:

  1. 有限 Abel 群的不可约表示是一维的。即我们只考虑群表示ρ:GGL(1,C)\rho:G\rightarrow GL(1,\mathbb{C})。其中C\mathbb{C} 是复数域。

  2. 有限 Abel 群的特征标也是有限的。因为群中元素的阶都是有限的,譬如ar=ea^r=e,那么对于特征标χ:GC\chi:G\rightarrow\mathbb{C} 就会有χ(a)r=χ(ar)=χ(e)=1\chi(a)^r=\chi(a^r)=\chi(e)=1。这样的话χ(a)\chi(a) 就只能选择rr 次单位根,只有有限种选择。

    此外我们进一步限制只讨论生成有限 Abel 群,如果没有生成元而只有一个生成元集合(譬如Zr×Zr\mathbb{Z}_r\times\mathbb{Z}_r 只能用{(1,0),(0,1)}\{(1,0),(0,1)\} 生成),那么该群一定同构于若干个生成群的直积,其实不影响讨论。

  • 例:考虑群{1,a,a2}\{1,a,a^2\},其中a3=1a^3=1。那么它可能的特征标只有三个选择:

    χ(a)3=1χ0:{χ0(a)=e2πi0χ0(a2)=χ1(a)2=e2πi20χ0(1)=χ1(a3)=e2πi30=1χ1:{χ1(a)=e2πi/3χ1(a2)=e4πi/3χ1(1)=e6πi/3=1χ2:{χ2(a)=e4πi/3χ2(a2)=e2πi/3χ2(1)=e6πi/3=1\chi(a)^3=1\Rightarrow\\ \begin{aligned} &\chi_0:\begin{cases} \chi_0(a)=e^{2\pi i\cdot 0}\\ \chi_0(a^2)=\chi_1(a)^2=e^{2\pi i\cdot 2\cdot0}\\ \chi_0(1)=\chi_1(a^3)=e^{2\pi i\cdot 3\cdot0}=1\\ \end{cases}\\ & \chi_1:\begin{cases} \chi_1(a)=e^{2\pi i/3}\\ \chi_1(a^2)=e^{4\pi i/3}\\ \chi_1(1)=e^{6\pi i/3}=1\\ \end{cases}\\ & \chi_2:\begin{cases} \chi_2(a)=e^{4\pi i/3}\\ \chi_2(a^2)=e^{2\pi i/3}\\ \chi_2(1)=e^{6\pi i/3}=1\\ \end{cases} \end{aligned}

    故可以记为:

    χj(a)=e2πij/3\chi_j(a)=e^{2\pi ij/3}

然后我们把特征标χj\chi_j 构成的群记为对偶群G^\hat{G},其中jj 表示了是第几个单位根。当然,当GG 是若干个群的直积,那么j=(j1,j2,...,jn)j=(j_1,j_2,...,j_n) 也可以。其中jij_i 表示第ii 个循环群的生成元是第几个单位根。所以如果GG 的生成元记为aa,那么它的阶就是G|G|,那么就有:

χj(a)=e2πij/G\chi_j(a)=e^{2\pi ij/|G|}

# 量子傅里叶变换

然后我们定义群GG 上的量子傅里叶变换(Quantum Fourier Transformation,QFT,推广形式)为:

FG:=1GxGyG^χy(x)yxF_G:=\frac{1}{\sqrt{|G|}}\sum_{x\in G}\sum_{y\in\hat{G}}\chi_y(x)|y\rangle\langle x|

其中我们狭义一点,那就令有限生成 Abel 群GGZN\mathbb{Z}_N(实际上有限生成 Abel 群都同构于ZN\mathbb{Z}_N),那么χy\chi_y 中的yy 意思就是χy(x)=e2πixy/N\chi_y(x)=e^{2\pi ixy/N},那就得到了最常见的 Fourier Transformation 的形式。进一步地,因为GG^G\cong\hat{G},实际上可以用GG 中的元素对应G^\hat{G} 中的元素。

  • 例:在隐含子群问题的例 1 中,G=Z2nG=\mathbb{Z}_2^n,那么生成元为(0,...,0,1),(0,...,1,0),...,(1,...,0,0)(0,...,0,1),(0,...,1,0),...,(1,...,0,0)nn 个。而且每个生成元在自己的循环群Z2\mathbb{Z}_2 中的阶都是 2。那么yy 也是一个长度为nn 的二进制串,第ii 为为 1 表示第ii 个生成元取第 1 个单位根,否则就取第 0 个单位根。那么χy(x)=(1)xy\chi_y(x)=(-1)^{x\oplus y}

    譬如n=2,x=11=0110n=2,x=11=01\oplus 10(在生成元下分解),那么如果y=11y=11,则χy(x)=χy(01)χy(10)=e2πi/2e2πi/2=1\chi_y(x)=\chi_y(01)\chi_y(10)=e^{2\pi i/2}\cdot e^{2\pi i/2}=1,因为01011010 都对应了第 1 个二次单位根,也就是e2πi/2e^{2\pi i/2}。最终也就是χy(x)=(1)xy\chi_y(x)=(-1)^{x\oplus y}

    所以

    FG=12nx,yZ2n(1)xyyxF_G=\frac{1}{\sqrt{2^n}}\sum_{x,y\in\mathbb{Z}_2^n}(-1)^{x\oplus y}|y\rangle\langle x|

    就是 Simon 算法的 QFT。


下面回到隐含子群问题。假设我们可以用某种方法(往往就是 Hadamard 变换)制得一个群GG 上的均匀叠加态:

G=1GxGx|G\rangle=\frac{1}{\sqrt{|G|}}\sum_{x\in G}|x\rangle

然后施加一个计算函数值的 oracle:

1GxGxf(x)\rightarrow \frac{1}{\sqrt{|G|}}\sum_{x\in G}|x\rangle|f(x)\rangle

然后我们只看第一寄存器,即取 partial trace,由于原态是一个纠缠态,所以第一寄存器是一个混合态,有:

ρ=1G/HgG/H(1HhHg+h1HhHg+h)=1GgG/H,h1,h2Hg+h1g+h2\begin{aligned} \rho&=\frac{1}{|G|/|H|}\sum_{g\in G/H}(\frac{1}{\sqrt{|H|}}\sum_{h\in H}|g+h\rangle\frac{1}{\sqrt{|H|}}\sum_{h\in H}\langle g+h|)\\ &=\frac{1}{|G|}\sum_{g\in G/H,h_1,h_2\in H}|g+h_1\rangle\langle g+h_2| \end{aligned}

我们记g+H=1HhHg+h|g+H\rangle=\frac{1}{\sqrt{|H|}}\sum_{h\in H}|g+h\rangle 是一个纯态,是均匀叠加在陪集g+Hg+H 上的。但是不同陪集间是混合的。

然后我们直接作用 QFT:

FGρFG=1G2gG/H,h1,h2Hx1,x2Gy1,y2G^χy1(x1)χy2(x2)y1x1g+h1g+h2x2y2=1G2gG/H,h1,h2Hy1,y2G^χy1(g+h1)χy2(g+h2)y1y2=1G2y1,y2G^[gG/H,h1,h2Hχy1(g)χy1(h1)χy2(g)χy2(h2)]y1y2=1G2y1,y2G^[gG/Hχy1(g)χy2(g)][h1,h2Hχy1(h1)χy2(h2)]y1y2\begin{aligned} F_G\rho F_G^\dagger&=\frac{1}{|G|^2}\sum_{g\in G/H,h_1,h_2\in H}\sum_{x_1,x_2\in G}\sum_{y_1,y_2\in\hat{G}}\chi_{y_1}(x_1)\chi_{y_2}(x_2)^*|y_1\rangle\langle x_1|g+h_1\rangle\langle g+h_2|x_2\rangle\langle y_2|\\ &=\frac{1}{|G|^2}\sum_{g\in G/H,h_1,h_2\in H}\sum_{y_1,y_2\in\hat{G}}\chi_{y_1}(g+h_1)\chi_{y_2}(g+h_2)^*|y_1\rangle\langle y_2|\\ &=\frac{1}{|G|^2}\sum_{y_1,y_2\in\hat{G}}[\sum_{g\in G/H,h_1,h_2\in H}\chi_{y_1}(g)\chi_{y_1}(h_1)\chi_{y_2}(g)^*\chi_{y_2}(h_2)^*]|y_1\rangle\langle y_2|\\ &=\frac{1}{|G|^2}\sum_{y_1,y_2\in\hat{G}}[\sum_{g\in G/H}\chi_{y_1}(g)\chi_{y_2}(g)^*][\sum_{h_1,h_2\in H}\chi_{y_1}(h_1)\chi_{y_2}(h_2)^*]|y_1\rangle\lang y_2| \end{aligned}

其中,χy(g)\chi_y(g) 也可以为商群G/HG/H 上的特征标,那么根据特征标的正交性,有:

gG/Hχy1(g)χy2(g)=GHδy1,y2\sum_{g\in G/H}\chi_{y_1}(g)\chi_{y_2}(g)^*=\frac{|G|}{|H|}\delta_{y_1,y_2}

于是原状态为:

FGρFG=1GHyG^[hHχy(h)hHχy(h1)]yy=1GHyG^[hHχy(h)]2yy=HGyG^χy(H)2yy\begin{aligned} F_G\rho F_G^\dagger &= \frac{1}{|G|\cdot |H|}\sum_{y\in\hat{G}}[\sum_{h\in H}\chi_y(h)\sum_{h\in H}\chi_y(h^{-1})]|y\rangle\langle y|\\ &=\frac{1}{|G|\cdot |H|}\sum_{y\in\hat{G}}[\sum_{h\in H}\chi_y(h)]^2|y\rangle\langle y|\\ &=\frac{|H|}{|G|}\sum_{y\in\hat{G}}\chi_y(H)^2|y\rangle\langle y| \end{aligned}

其中,χy(H)=1HhHχy(h)\chi_y(H)=\frac{1}{|H|}\sum_{h\in H}\chi_y(h)。其中,

  • hH,χy(h)=1\forall h\in H,\chi_y(h)=1,那么有χy(H)=1\chi_y(H)=1

  • hH,χy(h)1\exists h'\in H,\chi_{y}(h')\neq 1,那么hHh+H=Hh'\in H\Rightarrow h'+H=H,那么有:

    χy(H)=1HhHχy(h)=1Hhh+Hχy(h)=1HhHχy(h+h)=χy(h)1HhHχy(h)=χy(h)χy(H)\begin{aligned} \chi_y(H)&=\frac{1}{|H|}\sum_{h\in H}\chi_y(h)\\ &=\frac{1}{|H|}\sum_{h\in h'+H}\chi_y(h)\\ &=\frac{1}{|H|}\sum_{h\in H}\chi_y(h'+h)\\ &=\chi_y(h')\frac{1}{|H|}\sum_{h\in H}\chi_y(h)\\ &=\chi_y(h')\chi_y(H) \end{aligned}

因为χy(h)1\chi_y(h')\neq 1,所以χy(H)=0\chi_y(H)=0。故原状态改写为:

FGρFG=HGyG^,χy(H)=1yyF_G\rho F_G^\dagger = \frac{|H|}{|G|}\sum_{y\in\hat{G},\chi_y(H)=1}|y\rangle\langle y|

所以如果我们在对第一寄存器作 QFT 后再测量,就可以得到yy,使得hH,χy(h)=1\forall h\in H,\chi_y(h)=1。这样的话,就可以排除GG 中那些χy(g)1\chi_y(g)\neq 1 的元素肯定不在子群HH 中。如此往复若干次,取交集的话就可以逐渐得到子群HH。换句话说,如果测量到y1,y2,...,yny_1,y_2,...,y_n,那么我们只需要求交集:

Kerχy1Kerχy2...Kerχyn=HKer\chi_{y_1}\cap Ker\chi_{y_2}\cap...\cap Ker\chi_{y_n}=H

即可。

# 复杂度分析

考虑重复测量kk 次后,我们得到了一个子群(它显然是个子群):

K=Kerχy1...KerχykK=Ker\chi_{y_1}\cap...\cap Ker\chi_{y_k}

那么有:HHKK 的子群,KKGG 的子群。根据 Lagrange 定理,H|H|K|K| 的约数,即有K2H|K|\geq 2|H|

注意到,当我们再次采样测量yk+1y_{k+1},如果KKKerχyk+1Ker\chi_{y_{k+1}} 的子群,这样的yk+1y_{k+1} 有多少个呢?实际上有GK\frac{|G|}{|K|} 个。为什么呢?我们看之前的式子FGρFGF_G\rho F_G^\dagger 得知,一共有GH\frac{|G|}{|H|} 个不同的yy 使得χy(H)=1\chi_y(H)=1,也就是HHKerχyKer\chi_y 的子群。那么现在如果我们想让KKKerχyKer\chi_y 的子群,那有多少个yy 呢?就是GK\frac{|G|}{|K|} 个(可以把子群KK 看作是HH)。而所有的yy 均以HG\frac{|H|}{|G|} 等概率得到,故:

Prob (再采样测量一次,得到yyKKKerχyKer\chi_y 的子群)=HGGK=HK12\frac{|H|}{|G|}\cdot \frac{|G|}{|K|}=\frac{|H|}{|K|}\leq\frac{1}{2}

换句话说,我们测量有>12>\frac{1}{2} 的概率使得KKerχyK\cap Ker\chi_y 大小至少减少一半(因为KKerχyK\cap Ker\chi_yKK 的子群,根据 Lagrange 定理,有K2KKerχy|K|\geq 2|K\cap Ker\chi_y|)。

故持续重复采样测量O(logG)O(log|G|) 次,我们就有显著概率获得隐含子群HH