爱是充实了的生命,正如盛满了酒的酒杯。
# 隐含子群问题
隐含子群问题:给定一个群G,一个函数f:G→Something,满足存在一个子群H,使得f 在H 的不同陪集上互异,同一个陪集上相同。试求这个H。
- 例 1:若给定群G=⟨{0,1}n,⊕⟩,f 为一个函数满足f(x)=f(x⊕s)。那么如果有一个计算f 的黑盒,我们想求s,就相当于求子群K={0,s}。
- 例 2:离散对数问题。给定群G=⟨Zr×Zr,+(modr)⟩,和函数f 满足f(x1,x2)=ax1bx2。那么要求s=logab 的话(模r 意义),那么就相当于求解一个子群:K=⟨{(l,−ls)∣l∈Zr},+(modr)⟩,其实也就是这个周期是一个二维的。
我们下面只考虑有限 Abel 群上的隐含子群问题。而有限 Abel 群的特点是:
-
有限 Abel 群的不可约表示是一维的。即我们只考虑群表示ρ:G→GL(1,C)。其中C 是复数域。
-
有限 Abel 群的特征标也是有限的。因为群中元素的阶都是有限的,譬如ar=e,那么对于特征标χ:G→C 就会有χ(a)r=χ(ar)=χ(e)=1。这样的话χ(a) 就只能选择r 次单位根,只有有限种选择。
此外我们进一步限制只讨论生成有限 Abel 群,如果没有生成元而只有一个生成元集合(譬如Zr×Zr 只能用{(1,0),(0,1)} 生成),那么该群一定同构于若干个生成群的直积,其实不影响讨论。
- 例:考虑群{1,a,a2},其中a3=1。那么它可能的特征标只有三个选择:
χ(a)3=1⇒χ0:⎩⎪⎪⎨⎪⎪⎧χ0(a)=e2πi⋅0χ0(a2)=χ1(a)2=e2πi⋅2⋅0χ0(1)=χ1(a3)=e2πi⋅3⋅0=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
故可以记为:χj(a)=e2πij/3
然后我们把特征标χj 构成的群记为对偶群,G^,其中j 表示了是第几个单位根。当然,当G 是若干个群的直积,那么j=(j1,j2,...,jn) 也可以。其中ji 表示第i 个循环群的生成元是第几个单位根。所以如果G 的生成元记为a,那么它的阶就是∣G∣,那么就有:
χj(a)=e2πij/∣G∣
# 量子傅里叶变换
然后我们定义群G 上的量子傅里叶变换(Quantum Fourier Transformation,QFT,推广形式)为:
FG:=∣G∣1x∈G∑y∈G^∑χy(x)∣y⟩⟨x∣
其中我们狭义一点,那就令有限生成 Abel 群G 为ZN(实际上有限生成 Abel 群都同构于ZN),那么χy 中的y 意思就是χy(x)=e2πixy/N,那就得到了最常见的 Fourier Transformation 的形式。进一步地,因为G≅G^,实际上可以用G 中的元素对应G^ 中的元素。
-
例:在隐含子群问题的例 1 中,G=Z2n,那么生成元为(0,...,0,1),(0,...,1,0),...,(1,...,0,0) 共n 个。而且每个生成元在自己的循环群Z2 中的阶都是 2。那么y 也是一个长度为n 的二进制串,第i 为为 1 表示第i 个生成元取第 1 个单位根,否则就取第 0 个单位根。那么χy(x)=(−1)x⊕y。
譬如n=2,x=11=01⊕10(在生成元下分解),那么如果y=11,则χy(x)=χy(01)χy(10)=e2πi/2⋅e2πi/2=1,因为01 和10 都对应了第 1 个二次单位根,也就是e2πi/2。最终也就是χy(x)=(−1)x⊕y。
所以
FG=2n1x,y∈Z2n∑(−1)x⊕y∣y⟩⟨x∣
就是 Simon 算法的 QFT。
下面回到隐含子群问题。假设我们可以用某种方法(往往就是 Hadamard 变换)制得一个群G 上的均匀叠加态:
∣G⟩=∣G∣1x∈G∑∣x⟩
然后施加一个计算函数值的 oracle:
→∣G∣1x∈G∑∣x⟩∣f(x)⟩
然后我们只看第一寄存器,即取 partial trace,由于原态是一个纠缠态,所以第一寄存器是一个混合态,有:
ρ=∣G∣/∣H∣1g∈G/H∑(∣H∣1h∈H∑∣g+h⟩∣H∣1h∈H∑⟨g+h∣)=∣G∣1g∈G/H,h1,h2∈H∑∣g+h1⟩⟨g+h2∣
我们记∣g+H⟩=∣H∣1∑h∈H∣g+h⟩ 是一个纯态,是均匀叠加在陪集g+H 上的。但是不同陪集间是混合的。
然后我们直接作用 QFT:
FGρFG†=∣G∣21g∈G/H,h1,h2∈H∑x1,x2∈G∑y1,y2∈G^∑χy1(x1)χy2(x2)∗∣y1⟩⟨x1∣g+h1⟩⟨g+h2∣x2⟩⟨y2∣=∣G∣21g∈G/H,h1,h2∈H∑y1,y2∈G^∑χy1(g+h1)χy2(g+h2)∗∣y1⟩⟨y2∣=∣G∣21y1,y2∈G^∑[g∈G/H,h1,h2∈H∑χy1(g)χy1(h1)χy2(g)∗χy2(h2)∗]∣y1⟩⟨y2∣=∣G∣21y1,y2∈G^∑[g∈G/H∑χy1(g)χy2(g)∗][h1,h2∈H∑χy1(h1)χy2(h2)∗]∣y1⟩⟨y2∣
其中,χy(g) 也可以为商群G/H 上的特征标,那么根据特征标的正交性,有:
g∈G/H∑χy1(g)χy2(g)∗=∣H∣∣G∣δy1,y2
于是原状态为:
FGρFG†=∣G∣⋅∣H∣1y∈G^∑[h∈H∑χy(h)h∈H∑χy(h−1)]∣y⟩⟨y∣=∣G∣⋅∣H∣1y∈G^∑[h∈H∑χy(h)]2∣y⟩⟨y∣=∣G∣∣H∣y∈G^∑χy(H)2∣y⟩⟨y∣
其中,χy(H)=∣H∣1∑h∈Hχy(h)。其中,
-
若∀h∈H,χy(h)=1,那么有χy(H)=1。
-
若∃h′∈H,χy(h′)=1,那么h′∈H⇒h′+H=H,那么有:
χy(H)=∣H∣1h∈H∑χy(h)=∣H∣1h∈h′+H∑χy(h)=∣H∣1h∈H∑χy(h′+h)=χy(h′)∣H∣1h∈H∑χy(h)=χy(h′)χy(H)
因为χy(h′)=1,所以χy(H)=0。故原状态改写为:
FGρFG†=∣G∣∣H∣y∈G^,χy(H)=1∑∣y⟩⟨y∣
所以如果我们在对第一寄存器作 QFT 后再测量,就可以得到y,使得∀h∈H,χy(h)=1。这样的话,就可以排除G 中那些χy(g)=1 的元素肯定不在子群H 中。如此往复若干次,取交集的话就可以逐渐得到子群H。换句话说,如果测量到y1,y2,...,yn,那么我们只需要求交集:
Kerχy1∩Kerχy2∩...∩Kerχyn=H
即可。
# 复杂度分析
考虑重复测量k 次后,我们得到了一个子群(它显然是个子群):
K=Kerχy1∩...∩Kerχyk
那么有:H 是K 的子群,K 是G 的子群。根据 Lagrange 定理,∣H∣ 是∣K∣ 的约数,即有∣K∣≥2∣H∣。
注意到,当我们再次采样测量yk+1,如果K 是Kerχyk+1 的子群,这样的yk+1 有多少个呢?实际上有∣K∣∣G∣ 个。为什么呢?我们看之前的式子FGρFG† 得知,一共有∣H∣∣G∣ 个不同的y 使得χy(H)=1,也就是H 是Kerχy 的子群。那么现在如果我们想让K 是Kerχy 的子群,那有多少个y 呢?就是∣K∣∣G∣ 个(可以把子群K 看作是H)。而所有的y 均以∣G∣∣H∣ 等概率得到,故:
Prob (再采样测量一次,得到y 且K 是Kerχy 的子群)=∣G∣∣H∣⋅∣K∣∣G∣=∣K∣∣H∣≤21。
换句话说,我们测量有>21 的概率使得K∩Kerχy 大小至少减少一半(因为K∩Kerχy 是K 的子群,根据 Lagrange 定理,有∣K∣≥2∣K∩Kerχy∣)。
故持续重复采样测量O(log∣G∣) 次,我们就有显著概率获得隐含子群H。