学群表示论时,对 Fourier basis 和 Fourier transformation 有了个理解。
学布尔函数分析时,有了新的理解。
学量子密码学时,又有了新的理解。
# F2 上的傅里叶变换
我们考虑一个布尔函数:
f:{0,1}n→{0,1}
或者写为f:F2n→F2,即在有限域F2 上考虑。
那么任何一个函数f 都可以写为:
f(x)=S⊆[n]∑f(S)χS(x)
其中,χS(x)=∏i∈S(−1)xi=(−1)∑i∈Sxi。(实际上,χ(x)=(−1)x 是F2 的群特征标)而
f(S)=⟨f,χS⟩=2n1x∈{0,1}n∑f(x)χS(x)
被称为 Fourier coefficient of f on S。
譬如考虑或函数:OR:{0,1}2→{0,1},就有:
OR(x)=43−41⋅(−1)x0−41⋅(−1)x1−41⋅(−1)x0+x1
然后如果我们用一个 01 串来表示S,就会有:
χσ(x)=(−1)σ⋅x
其中,σi=1 表示i∈S,那么σ⋅x(点乘)就其实等于∑i∈Sxi 了。故原 Fourier expansion 写为:
f(x)=σ∈{0,1}n∑f(σ)χσ(x)
我们其实可以证明,{χσ} 是正交的。因为:
⟨χσ,χγ⟩=2n1x∈{0,1}n∑χσ(x)χγ(x)=2n1x∈{0,1}n∑(−1)σ⋅x+γ⋅x=2n1x∈{0,1}n∑i,σi⊕γi=1∏(−1)xi
实际上也就是,σ,γ 如果第i 位都为 1,那么xi 就会被算两遍。所以我们只考虑σi⊕γi=1 的那些位。又因为x 遍历了所有{0,1}n,所以就有:
⟨χσ,χγ⟩={10σ=γσ=γ
我们推广上述的 Fourier expansion 到量子的情况。
因为恒有:χσ(x)2=1,因此我们定义单一化后的向量:
∣χσ⟩=2n1⎝⎜⎜⎜⎛χσ(0)χσ(1)...χσ(2n−1)⎠⎟⎟⎟⎞
那么实际上有:∑σ∈{0,1}n∣χσ⟩⟨χσ∣=I。为什么呢?譬如令E=∑σ∈{0,1}n∣χσ⟩⟨χσ∣,那么:
Ei,j=2n1σ∈{0,1}n∑χσ(i)χσ(j)=2n1σ∈{0,1}n∑χi(σ)χj(σ)=δi,j
所以,假设我们有单位化后的向量:
∣f⟩=∑xf(x)21⎝⎜⎜⎜⎛f(0)f(1)...f(2n−1)⎠⎟⎟⎟⎞
那么就有:
∣f⟩=I∣f⟩=σ∈{0,1}n∑∣χσ⟩⟨χσ∣f⟩=σ∈{0,1}n∑⟨χσ∣f⟩∣χσ⟩
为∣f⟩ 在∣χσ⟩ 下的展开。
# Deutsch-Jozsa Algorithm
假设Uf(∣x⟩⊗∣b⟩)=∣x⟩⊗∣b⊕f(x)⟩,其中f 的输出为{0,1}。那么有:
Uf(∣x⟩∣−⟩)=(−1)f(x)∣x⟩∣−⟩
去掉辅助比特,也就是Uf∣x⟩=(−1)f(x)∣x⟩。令g(x)=(−1)f(x),那么就有:
Uf⎝⎛2n1x∈{0,1}n∑∣x⟩⎠⎞=2n1x∈{0,1}n∑g(x)∣x⟩=∣g⟩=σ∈{0,1}n∑∣χσ⟩⟨χσ∣g⟩
因为χ0(x)=(−1)0⋅x=1,那么有:
⟨χ0∣g⟩=2n1x∑χ0(x)g(x)=2n1x∑g(x)=2n1x∑(−1)f(x)
所以f(x) 是常函数、或者f(x) is balanced 分别对应了Uf(2n1∑x∈{0,1}n∣x⟩) 中,∣χ0⟩ 的概率幅度为 1,或者为 0 的情况。
Theorem.
H⊗n∣χσ⟩=∣σ⟩
Proof:
H⊗n∣χσ⟩=2n1x∈{0,1}n∑χσ(x)H⊗n∣x⟩=2n1x,y∈{0,1}n∑χσ(x)⋅(−1)x⋅y∣y⟩=2n1x,y∈{0,1}n∑χσ(x)χy(x)∣y⟩=y∈{0,1}n∑⟨χσ∣χy⟩∣y⟩=∣σ⟩
□.
# Simon’s algorithm
假如说有一个函数f(x)=f(x⊕s),对于y=x⊕s 有f(x)=f(y)。那么:
Uf⎝⎛2n1x∈{0,1}n∑∣x⟩∣0⟩⎠⎞=2n1x∈{0,1}n∑∣x⟩∣f(x)⟩
我们对第二个寄存器进行一个测量,那么第一个寄存器就会落入某个状态:
∣f⟩=21(∣x⟩+∣x⊕s⟩)
然后就有:
⟨χσ∣f⟩=2n+11(χσ(x)+χσ(x⊕s))=2n+11((−1)σ⋅x+(−1)σ⋅(x⊕s))=2n+11(−1)σ⋅x(1+(−1)σ⋅s)
所以我们可以:
H⊗n∣f⟩=H⊗nσ∈{0,1}n∑⟨χσ∣f⟩∣χσ⟩=σ∈{0,1}n∑⟨χσ∣f⟩∣σ⟩
那么我们不断测量H⊗n∣f⟩,策略出的结果σ 一定满足(−1)σ⋅s=−1
# ZN 上的傅里叶变换
对于s,x∈ZN,我们定义:χs(x)=ωs⋅x,其中s⋅x 是ZN 上的乘法。而ω=eN2πi。
然后向量类似:
∣χs⟩=N1⎝⎜⎜⎜⎛χs(0)χs(1)...χs(N−1)⎠⎟⎟⎟⎞
那么这个 Fourier basis 也有类似的性质:
- χs(x)=χx(s)。
- ∑x=0N−1χs(x)={10s=0s=0。(单位根等比求和)
- ⟨χs∣χt⟩={10s=ts=t。
- χs(x)∗=χs(−x)。
- ∑s=0N−1∣χs⟩⟨χs∣=I。
那么对于一个g:Zn→Zn,我们也可以进行 Fourier expansion:
∣g⟩=∑i=0N−1g(x)21⎝⎜⎜⎜⎛g(0)g(1)...g(N−1)⎠⎟⎟⎟⎞∣g⟩=s=0∑N−1⟨χs∣g⟩∣χs⟩
我们看一下 Period-finding 问题。假如我们类似之前,作用Uf 后测量第二寄存器,得到了如下状态(省略了归一化常数):
∣g⟩=∣x⟩+∣x+s⟩+∣x+2s⟩+...+∣x+(sN−1)s⟩
那么我们考虑:
⟨χσ∣g⟩=m=0∑N/s−1χσ(x+ms)∗=m=0∑N/s−1ω−σ(x+ms)
可以发现:
-
若σs=0modN,那么:
⟨χσ∣g⟩=m=0∑N/s−1ω−σx
其实结果就是ω−σx,因为∣g⟩ 前我们没有考虑归一化常数,而∥⟨χσ∣g⟩∥=1 应该。
-
若σs=0modN,假设N 是s 的倍数,那么
⟨χσ∣g⟩=ω−σxm=0∑N/s−1ω−σms=0
实际上,就算N 不是s 的倍数,都有⟨χσ∣g⟩≈0,这个概率振幅会很小。
因此,如果在∣χσ⟩ 下测量,测量结果巨大概率为σs=0modN 的那些σ。
而ZN 上的量子傅里叶变换可以看作:
QFT=N1x,y=0∑N−1χy(x)∗∣y⟩⟨x∣
那么给定∣g⟩=∑s=0N−1⟨χs∣g⟩∣χs⟩,就有:
QFT∣g⟩=QFTs=0∑N−1⟨χs∣g⟩x=0∑N−1χs(x)∣x⟩=x,y,s=0∑N−1⟨χs∣g⟩χs(x)χy(x)∗∣y⟩=y,s=0∑N−1⟨χs∣g⟩(x=0∑N−1χs−y(x))∣y⟩=s=0∑N−1⟨χs∣g⟩∣s⟩
所以我们对QFT∣g⟩ 进行测量,测量的结果极大概率都是满足σs=0modN 的那些σ。