ch.10. Deutsch-Jozsa’s算法(续)
Simon算法
输入:一个完成下述映射的黑箱:
f : Z 2 n → Z 2 n f:\Z_2^n\rightarrow \Z_2^n f:Z2n→Z2n
黑箱满足条件:存在一个串 a = a 1 a 2 … a n a=a_1a_2\dots a_n a=a1a2…an,使得当x=y或x=y ⊕ \oplus ⊕a的时候,满足:f(x)=f(y)(a是函数f的“周期”)
问题:最少需要使用多少次 U f U_f Uf,才能够确定串a?
答案:使用经典算法时,为 2 n 2 2^\frac{n}{2} 22n次,使用Simon算法时,为n次
旁注:Simon算法并未使用(相位)反冲技术
此算法的图像表示如下:
其中,上面左部带有H门的共有n-qubit,为寄存器1;下面左部不带H门的也有n-qubit,为寄存器2
分状态进行分析:
∣ ψ ( t 1 ) ⟩ = ∣ 0 ⟩ ⊗ n ∣ 0 ⟩ ⊗ n |\psi(t_1)\rang=|0\rang^{\otimes n}|0\rang^{\otimes n} ∣ψ(t1)⟩=∣0⟩⊗n∣0⟩⊗n
∣ ψ ( t 2 ) ⟩ = H ⊗ n ∣ ψ ( t 1 ) ⟩ = 1 2 n 2 ∑ x ∈ Z 2 n ∣ x ⟩ ∣ 0 ⟩ ⊗ n |\psi(t_2)\rang=H^{\otimes n}|\psi(t_1)\rang=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{x\in \Z_2^n}|x\rang|0\rang^{\otimes n} ∣ψ(t2)⟩=H⊗n∣ψ(t1)⟩=22n1x∈Z2n∑∣x⟩∣0⟩⊗n
∣ ψ ( t 3 ) ⟩ = U f ∣ ψ ( t 2 ) ⟩ = 1 2 n 2 ∑ x ∈ Z 2 n ∣ x ⟩ ∣ f ( x ) ⟩ |\psi(t_3)\rang=U_f|\psi(t_2)\rang=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{x\in\Z_2^n}|x\rang|f(x)\rang ∣ψ(t3)⟩=Uf∣ψ(t2)⟩=22n1x∈Z2n∑∣x⟩∣f(x)⟩
从 ∣ ψ ( t 3 ) ⟩ |\psi(t_3)\rang ∣ψ(t3)⟩中取出其中一项:
∣ ψ ( t 3 ) ⟩ p = 1 2 n 2 ( ∣ x 0 ⟩ + ∣ x 0 ⊕ a ⟩ ) ∣ f ( x 0 ) ⟩ |\psi(t_3)\rang_p=\dfrac{1}{2^\frac{n}{2}}(|x_0\rang+|x_0\oplus a\rang)|f(x_0)\rang ∣ψ(t3)⟩p=22n1(∣x0⟩+∣x0⊕a⟩)∣f(x0)⟩
对此项继续进行下一步:
∣ ψ ( t 4 ) ⟩ p = H ⊗ n 1 2 n 2 ( ∣ x 0 ⟩ + ∣ x 0 ⊕ a ⟩ ) ∣ f ( x 0 ) ⟩ = 1 2 n ∑ y ∈ Z 2 n ( ( − 1 ) x 0 ⋅ y + ( − 1 ) ( x 0 ⊕ a ) ⋅ y ) ∣ y ⟩ ∣ f ( x 0 ) ⟩ = 1 2 n ∑ y ∈ Z 2 n ( − 1 ) x 0 ⋅ y ( 1 + ( − 1 ) a ⋅ y ) ∣ y ⟩ ∣ f ( x 0 ) ⟩ = { a ⋅ y = 0 , ∣ ψ ( t 4 ) ⟩ p = 1 2 n − 1 ∑ ( − 1 ) x 0 ⋅ y ∣ y ⟩ ∣ f ( x 0 ) ⟩ a ⋅ y = 1 , 0 \begin{aligned}|\psi(t_4)\rang_p&=H^{\otimes n}\dfrac{1}{2^\frac{n}{2}}(|x_0\rang+|x_0\oplus a\rang)|f(x_0)\rang\\ &=\frac{1}{2^n}\sum\limits_{y\in\Z_2^n}\left((-1)^{x_0\cdot y}+(-1)^{(x_0\oplus a)\cdot y}\right)|y\rang|f(x_0)\rang\\ &=\frac{1}{2^n}\sum\limits_{y\in \Z_2^n}(-1)^{x_0\cdot y}(1+(-1)^{a\cdot y})|y\rang|f(x_0)\rang\\ &=\left\{\begin{aligned}&a\cdot y =0,\ |\psi(t_4)\rang_p=\frac{1}{2^{n-1}}\sum (-1)^{x_0\cdot y}|y\rang|f(x_0)\rang\\ &a\cdot y =1,\ 0\end{aligned}\right.\end{aligned} ∣ψ(t4)⟩p=H⊗n22n1(∣x0⟩+∣x0⊕a⟩)∣f(x0)⟩=2n1y∈Z2n∑((−1)x0⋅y+(−1)(x0⊕a)⋅y)∣y⟩∣f(x0)⟩=2n1y∈Z2n∑(−1)x0⋅y(1+(−1)a⋅y)∣y⟩∣f(x0)⟩=⎩⎨⎧a⋅y=0, ∣ψ(t4)⟩p=2n−11∑(−1)x0⋅y∣y⟩∣f(x0)⟩a⋅y=1, 0
随后,对寄存器1,使用 ∣ y 1 ⟩ ⟨ y 1 ∣ ⊗ I d |y_1\rang\lang y_1|\otimes Id ∣y1⟩⟨y1∣⊗Id进行测量,当测量概率为1时, a ⋅ y 1 = 0 a\cdot y_1 = 0 a⋅y1=0
以此类推,对所有的项都这么进行处理,即可总共n次就能测得串 a a a的值
Simon算法是第一个展现出“量子算法可以对(NP)难问题进行指数层次上的加速”的算法
ch.11. 量子傅里叶变换(QFT)
定义
量子傅里叶变换(QFT)是离散傅里叶变换的量子版本。此算法在量子信息与量子计算中时常涉及,在基于QFT的量子算法(例如factoring算法、Shor’s算法、相估计算法)中也有着极其重要的地位
定义:离散傅里叶变换(DFT)
( x 0 , x 1 , … , x n − 1 ) → D F T ( y 0 , y 1 , … , y n − 1 ) (x_0,\ x_1,\ \dots,\ x_{n-1})\mathop\rightarrow\limits^{DFT}(y_0,\ y_1,\ \dots,\ y_{n-1}) (x0, x1, …, xn−1)→DFT(y0, y1, …, yn−1)
y k = 1 2 n 2 ∑ j = 0 2 n 2 − 1 x j e i 2 π j ⋅ k 2 n y_k=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{j=0}^{2^\frac{n}{2}-1}x_je^{i\frac{2\pi j\cdot k}{2^n}} yk=22n1j=0∑22n−1xjei2n2πj⋅k
令 ω = e i 2 π 2 n / 2 \omega=e^{i\frac{2\pi}{2^{n/2}}} ω=ei2n/22π
则:
y k = 1 2 n 2 ∑ j = 0 2 n 2 − 1 x j ω j ⋅ k y_k=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{j=0}^{2^\frac{n}{2}-1}x_j\omega^{j\cdot k} yk=22n1j=0∑22n−1xjωj⋅k
其中:
j = j 1 ⋅ 2 n − 1 + j 2 ⋅ 2 n − 2 + ⋯ + j n − 1 ⋅ 2 + j n j=j_1\cdot 2^{n-1}+j_2\cdot 2^{n-2}+\cdots +j_{n-1}\cdot 2+j_n j=j1⋅2n−1+j2⋅2n−2+⋯+jn−1⋅2+jn
k = k 1 ⋅ 2 n − 1 + k 2 ⋅ 2 n − 2 + ⋯ + k n − 1 ⋅ 2 + k n k=k_1\cdot 2^{n-1}+k_2\cdot 2^{n-2}+\cdots +k_{n-1}\cdot 2+k_n k=k1⋅2n−1+k2⋅2n−2+⋯+kn−1⋅2+kn
采用了二进制的表述
定义:量子傅里叶变换(QFT)
∣ j 1 ⟩ ∣ j 2 ⟩ ⋯ ∣ j n ⟩ → Q F T n 1 2 n 2 ∑ k = 0 2 n − 1 e i 2 π j ⋅ k 2 n ∣ k 1 ⟩ ⋯ ∣ k n ⟩ |j_1\rang|j_2\rang\cdots|j_n\rang\mathop\rightarrow\limits^{QFT_n}\dfrac{1}{2^\frac{n}{2}}\sum\limits_{k=0}^{2^n-1}e^{i\frac{2\pi j\cdot k}{2^n}}|k_1\rang\cdots|k_n\rang ∣j1⟩∣j2⟩⋯∣jn⟩→QFTn22n1k=0∑2n−1ei2n2πj⋅k∣k1⟩⋯∣kn⟩
其中, ∑ k = 0 2 n − 1 = ∑ k 1 = 0 1 ⋯ ∑ k n = 0 1 \sum\limits_{k=0}^{2^n-1}=\sum\limits_{k_1=0}^1\cdots \sum\limits_{k_n=0}^1 k=0∑2n−1=k1=0∑1⋯kn=0∑1
记: ∣ j ⟩ = ∣ j 1 ⟩ ∣ j 2 ⟩ ⋯ ∣ j n ⟩ |j\rang=|j_1\rang|j_2\rang\cdots|j_n\rang ∣j⟩=∣j1⟩∣j2⟩⋯∣jn⟩,注意到 j j j不是一个标记,而是计算结果
同样地,记: ∣ k ⟩ = ∣ k 1 ⟩ ∣ k 2 ⟩ ⋯ ∣ k n ⟩ |k\rang=|k_1\rang|k_2\rang\cdots|k_n\rang ∣k⟩=∣k1⟩∣k2⟩⋯∣kn⟩
这里的 j j j和 k k k也可以像上述经典傅里叶变换那样,采用二进制的表述:
j = j 1 ⋅ 2 n − 1 + j 2 ⋅ 2 n − 2 + ⋯ + j n − 1 ⋅ 2 + j n j=j_1\cdot 2^{n-1}+j_2\cdot 2^{n-2}+\cdots +j_{n-1}\cdot 2+j_n j=j1⋅2n−1+j2⋅2n−2+⋯+jn−1⋅2+jn
k = k 1 ⋅ 2 n − 1 + k 2 ⋅ 2 n − 2 + ⋯ + k n − 1 ⋅ 2 + k n k=k_1\cdot 2^{n-1}+k_2\cdot 2^{n-2}+\cdots +k_{n-1}\cdot 2+k_n k=k1⋅2n−1+k2⋅2n−2+⋯+kn−1⋅2+kn
令 ω = e i 2 π 2 n \omega=e^{i\frac{2\pi}{2^n}} ω=ei2n2π,则量子傅里叶变换可以简写为:
∣ j ⟩ → Q F T n 1 2 n 2 ∑ k = 0 2 n − 1 ω j ⋅ k ∣ k ⟩ |j\rang\mathop\rightarrow\limits^{QFT_n}\dfrac{1}{2^\frac{n}{2}}\sum\limits_{k=0}^{2^n-1}\omega^{j\cdot k}|k\rang ∣j⟩→QFTn22n1k=0∑2n−1ωj⋅k∣k⟩
由此定义 Q F T n QFT_n QFTn及其逆算符:
Q F T n = 1 2 n 2 ∑ k = 0 2 n − 1 ∑ j = 0 2 n − 1 ω j ⋅ k ∣ k ⟩ ⟨ j ∣ QFT_n=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{k=0}^{2^n-1}\sum\limits_{j=0}^{2^n-1}\omega^{j\cdot k}|k\rang\lang j| QFTn=22n1k=0∑2n−1j=0∑2n−1ωj⋅k∣k⟩⟨j∣
Q F T n − 1 = 1 2 n 2 ∑ k , j = 0 2 n − 1 ω − j ⋅ k ∣ k ⟩ ⟨ j ∣ QFT_n^{-1}=\dfrac{1}{2^\frac{n}{2}}\sum\limits_{k,\ j=0}^{2^n-1}\omega^{-j\cdot k}|k\rang\lang j| QFTn−1=22n1k, j=0∑2n−1ω−j⋅k∣k⟩⟨j∣
旁注:傅里叶变换的经典计算与量子计算的区别:
经典计算 | D F T n DFT_n DFTn | O ( n × 2 n ) O(n\times 2^n) O(n×2n)个基本门 |
---|---|---|
量子计算 | Q F T n QFT_n QFTn | O ( n 2 ) O(n^2) O(n2)个基本门 |
Q F T 1 QFT_1 QFT1
当n=1时:
∣ j 1 ⟩ → Q F T 1 1 2 ∑ k 1 = 0 1 e i 2 π j 1 k 1 2 ∣ k 1 ⟩ = 1 2 ( ∣ 0 ⟩ + e i π j 1 ∣ 1 ⟩ ) = 1 2 ( ∣ 0 ⟩ + ( − 1 ) j 1 ∣ 1 ⟩ ) \begin{aligned}|j_1\rang&\mathop\rightarrow\limits^{QFT_1}\dfrac{1}{\sqrt 2}\sum\limits_{k_1=0}^1e^{i\frac{2\pi j_1k_1}{2}}|k_1\rang\\ &=\frac{1}{\sqrt 2}(|0\rang+e^{i\pi j_1}|1\rang)\\ &=\frac{1}{\sqrt 2}(|0\rang+(-1)^{j_1}|1\rang)\end{aligned} ∣j1⟩→QFT121k1=0∑1ei22πj1k1∣k1⟩=21(∣0⟩+eiπj1∣1⟩)=21(∣0⟩+(−1)j1∣1⟩)
因此,可以使用H门来实现 Q F T 1 QFT_1 QFT1
Q F T 2 QFT_2 QFT2
当n=2时, N = 2 2 = 4 N=2^2=4 N=22=4, k = 2 k 1 + k 2 k=2k_1+k_2 k=2k1+k2, j = 2 j 1 + j 2 j=2j_1+j_2 j=2j1+j2, ω = e i i π 4 = i \omega=e^{i\frac{i\pi}{4}}=i ω=ei4iπ=i
Q F T 2 QFT_2 QFT2的矩阵形式
Q F T 2 = 1 2 ∑ j = 0 3 ∑ k = 0 3 ω j ⋅ k ∣ k ⟩ ⟨ j ∣ = 1 2 ∑ j 1 , j 2 = 0 1 ∑ k 1 , k 2 = 0 1 ω j ⋅ k ∣ k 1 k 2 ⟩ ⟨ j 1 j 2 ∣ \begin{aligned}QFT_2&=\frac{1}{2}\sum\limits_{j=0}^3\sum\limits_{k=0}^3\omega^{j\cdot k}|k\rang\lang j|\\ &=\frac{1}{2}\sum\limits_{j_1,\ j_2=0}^1\sum\limits_{k_1,\ k_2=0}^1\omega^{j\cdot k}|k_1k_2\rang\lang j_1j_2|\end{aligned} QFT2=21j=0∑3k=0∑3ωj⋅k∣k⟩⟨j∣=21j1, j2=0∑1k1, k2=0∑1ωj⋅k∣k1k2⟩⟨j1j2∣
因为 ω j ⋅ k = ω j ⋅ ( 2 k 1 + k 2 ) = ω 2 j k 1 ⋅ ω j k 2 \omega^{j\cdot k}=\omega^{j\cdot(2k_1+k_2)}=\omega^{2jk_1}\cdot \omega^{jk_2} ωj⋅k=ωj⋅(2k1+k2)=ω2jk1⋅ωjk2
所以:
Q F T 2 = 1 2 ∑ j 1 , j 2 = 0 1 ( ∑ k 1 = 0 1 ω 2 j ⋅ k 1 ∣ k 1 ⟩ ) ( ∑ k 2 = 0 1 ω 2 j ⋅ k 2 ∣ k 2 ⟩ ) ⟨ j 1 j 2 ∣ = 1 2 ∑ j 1 , j 2 = 0 1 ( ∣ 0 ⟩ + ω 2 j ∣ 1 ⟩ ) ( ∣ 0 ⟩ + ω j ∣ 1 ⟩ ) ⟨ j 1 j 2 ∣ = 1 2 ∑ j 1 , j 2 = 0 1 ( ∣ 00 ⟩ + ω j ∣ 01 ⟩ + ω 2 j ∣ 10 ⟩ + ω 3 j ∣ 11 ⟩ ) ⟨ j 1 j 2 ∣ = ( 1 1 1 1 ω j ω j ω j ω j ω 2 j ω 2 j ω 2 j ω 2 j ω 3 j ω 3 j ω 3 j ω 3 j ) \begin{aligned}QFT_2&=\frac{1}{2}\sum\limits_{j_1,\ j_2=0}^1\left(\sum\limits_{k_1=0}^1\omega^{2j\cdot k_1}|k_1\rang\right)\left(\sum\limits_{k_2=0}^1\omega^{2j\cdot k_2}|k_2\rang\right)\lang j_1j_2|\\ &=\frac{1}{2}\sum\limits_{j_1,\ j_2=0}^1(|0\rang+\omega^{2j}|1\rang)(|0\rang+\omega^j|1\rang)\lang j_1j_2|\\ &=\frac{1}{2}\sum\limits_{j_1,\ j_2=0}^1(|00\rang+\omega^j|01\rang+\omega^{2j}|10\rang+\omega^{3j}|11\rang)\lang j_1j_2|\\ &=\left(\begin{matrix}1 & 1&1&1\\ \omega^j & \omega^j & \omega^j & \omega^j\\ \omega^{2j} & \omega^{2j} & \omega^{2j} & \omega^{2j}\\ \omega^{3j} & \omega^{3j} & \omega^{3j} & \omega^{3j}\end{matrix}\right)\end{aligned} QFT2=21j1, j2=0∑1(k1=0∑1ω2j⋅k1∣k1⟩)(k2=0∑1ω2j⋅k2∣k2⟩)⟨j1j2∣=21j1, j2=0∑1(∣0⟩+ω2j∣1⟩)(∣0⟩+ωj∣1⟩)⟨j1j2∣=21j1, j2=0∑1(∣00⟩+ωj∣01⟩+ω2j∣10⟩+ω3j∣11⟩)⟨j1j2∣=⎝⎜⎜⎛1ωjω2jω3j1ωjω2jω3j1ωjω2jω3j1ωjω2jω3j⎠⎟⎟⎞
矩阵的四列分别代表 j 1 j 2 j_1j_2 j1j2的取值为:00/01/10/11
因此,由每一列的 j 1 j 2 j_1j_2 j1j2取值,去计算那一列的 j j j,可以将矩阵简化为:
Q F T 2 = ( 1 1 1 1 1 ω ω 2 ω 3 1 ω 2 ω 4 ω 6 1 ω 3 ω 6 ω 9 ) = ( 1 1 1 1 1 ω ω 2 ω 3 1 ω 2 1 ω 2 1 ω 3 ω 2 ω ) QFT_2=\left(\begin{matrix}1 & 1&1&1\\ 1 & \omega & \omega^2 & \omega^3\\ 1 & \omega^{2} & \omega^{4} & \omega^{6}\\ 1 & \omega^{3} & \omega^{6} & \omega^{9}\end{matrix}\right)=\left(\begin{matrix}1 & 1&1&1\\ 1 & \omega & \omega^2 & \omega^3\\ 1 & \omega^{2} & 1 & \omega^{2}\\ 1 & \omega^{3} & \omega^{2} & \omega\end{matrix}\right) QFT2=⎝⎜⎜⎛11111ωω2ω31ω2ω4ω61ω3ω6ω9⎠⎟⎟⎞=⎝⎜⎜⎛11111ωω2ω31ω21ω21ω3ω2ω⎠⎟⎟⎞
旁注:Simon算法可以经过QFT变换为Shor算法(factoring algorithm)
Q F T 2 QFT_2 QFT2的量子回路模型
∣ j 1 j 2 ⟩ → Q F T 2 1 2 ∑ k 1 = 0 1 ∑ k 2 = 0 1 e i 2 π 4 j ⋅ k ∣ k 1 k 2 ⟩ |j_1j_2\rang\mathop\rightarrow\limits^{QFT_2}\dfrac{1}{2}\sum\limits_{k_1=0}^1\sum\limits_{k_2=0}^1e^{i\frac{2\pi}{4}j\cdot k}|k_1k_2\rang ∣j1j2⟩→QFT221k1=0∑1k2=0∑1ei42πj⋅k∣k1k2⟩
其中, j ⋅ k 4 = j ( 2 k 1 + k 2 ) 4 = j ( 1 2 k 1 + 1 2 2 k 2 ) = ∑ l = 1 2 j 2 l k l \dfrac{j\cdot k}{4}=\dfrac{j(2k_1+k_2)}{4}=j\left(\dfrac{1}{2}k_1+\dfrac{1}{2^2}k_2\right)=\sum\limits_{l=1}^2\dfrac{j}{2^l}k_l 4j⋅k=4j(2k1+k2)=j(21k1+221k2)=l=1∑22ljkl
由此:
∣ j 1 j 2 ⟩ → Q F T 2 1 2 ∑ k 1 = 0 1 ∑ k 2 = 0 1 ⊗ l = 1 2 e i 2 π j 2 l k l ∣ k 1 k 2 ⟩ = 1 2 ( ∑ k 1 = 0 1 e i 2 π j 2 k 1 ∣ k 1 ⟩ ) ( ∑ k 2 = 0 1 e i 2 π 4 j ⋅ k 2 ∣ k 2 ⟩ ) = 1 2 ( ∣ 0 ⟩ + e i 2 π j 2 ∣ 1 ⟩ ) ( ∣ 0 ⟩ + e i 2 π 4 j ∣ 1 ⟩ ) = 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 2 ) ( ∣ 0 ⟩ + e i 2 π 0. j 1 j 2 ∣ 1 ⟩ ) \begin{aligned}|j_1j_2\rang&\mathop\rightarrow\limits^{QFT_2}\frac{1}{2}\sum_{k_1=0}^1\sum_{k_2=0}^1\mathop\otimes\limits_{l=1}^{2}e^{i2\pi\frac{j}{2^l}k_l}|k_1k_2\rang\\ &=\frac{1}{2}\left(\sum\limits_{k_1=0}^1e^{i2\pi\frac{j}{2}k_1}|k_1\rang\right)\left(\sum\limits_{k_2=0}^1e^{i\frac{2\pi}{4}j\cdot k_2}|k_2\rang\right)\\ &=\frac{1}{2}(|0\rang+e^{i2\pi\frac{j}{2}}|1\rang)(|0\rang+e^{i\frac{2\pi}{4}j}|1\rang)\\ &=\frac{1}{2}(|0\rang+e^{i2\pi 0.j_2})(|0\rang+e^{i2\pi 0.j_1j_2}|1\rang)\end{aligned} ∣j1j2⟩→QFT221k1=0∑1k2=0∑1l=1⊗2ei2π2ljkl∣k1k2⟩=21(k1=0∑1ei2π2jk1∣k1⟩)(k2=0∑1ei42πj⋅k2∣k2⟩)=21(∣0⟩+ei2π2j∣1⟩)(∣0⟩+ei42πj∣1⟩)=21(∣0⟩+ei2π0.j2)(∣0⟩+ei2π0.j1j2∣1⟩)
其中, 0. j 1 j 2 . . . j n = ∑ l = 1 n 2 − l j l 0.j_1j_2...j_n=\sum\limits_{l=1}^n 2^{-l}j_l 0.j1j2...jn=l=1∑n2−ljl
Q F T 2 QFT_2 QFT2算法如下所示:
其中, R k = ( 1 0 0 e i 2 π 2 k ) R_k=\left(\begin{matrix}1&0\\0&e^{\frac{i2\pi}{2^k}}\end{matrix}\right) Rk=(100e2ki2π), R 2 = ( 1 0 0 i ) = S R_2=\left(\begin{matrix}1&0\\0&i\end{matrix}\right)=S R2=(100i)=S
分阶段分析:
在 t 1 t_1 t1处:
∣ ψ 1 ⟩ = H ∣ j 1 ⟩ ⊗ ∣ j 2 ⟩ = 1 2 ( ∣ 0 ⟩ + ( − 1 ) j 1 ∣ 1 ⟩ ) ⊗ ∣ j 2 ⟩ = 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 ∣ 1 ⟩ ) ⊗ ∣ j 2 ⟩ |\psi_1\rang=H|j_1\rang\otimes |j_2\rang=\dfrac{1}{\sqrt 2}(|0\rang+(-1)^{j_1}|1\rang)\otimes|j_2\rang=\dfrac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_1}|1\rang)\otimes|j_2\rang ∣ψ1⟩=H∣j1⟩⊗∣j2⟩=21(∣0⟩+(−1)j1∣1⟩)⊗∣j2⟩=21(∣0⟩+ei2π0.j1∣1⟩)⊗∣j2⟩
在 t 2 t_2 t2处( C R 2 CR_2 CR2为控制 R 2 R_2 R2门):
∣ ψ 2 ⟩ = C R 2 ∣ ψ 1 ⟩ = C S ∣ ψ 1 ⟩ = ( I 2 ⊗ ∣ 0 ⟩ ⟨ 0 ∣ + S ⊗ ∣ 1 ⟩ ⟨ 1 ∣ ) 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 ∣ 1 ⟩ ) ∣ j 2 ⟩ = { j 2 = 0 , 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 j 2 ∣ 1 ⟩ ) ∣ 0 ⟩ j 2 = 1 , 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 e i 2 π 4 ∣ 1 ⟩ ) ∣ 1 ⟩ = 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 j 2 ∣ 1 ⟩ ) ∣ j 2 ⟩ \begin{aligned}|\psi_2\rang&=CR_2|\psi_1\rang\\ &=CS|\psi_1\rang\\ &=(I_2\otimes|0\rang\lang 0|+S\otimes|1\rang\lang 1|)\frac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_1}|1\rang)|j_2\rang\\ &=\left\{\begin{aligned}&j_2=0,\ \frac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_1j_2}|1\rang)|0\rang\\ &j_2=1,\ \frac{1}{\sqrt 2}(|0\rang+e^{i2\pi0.j_1 e^{i\frac{2\pi}{4}}}|1\rang)|1\rang\end{aligned}\right.\\ &=\frac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_1j_2}|1\rang)|j_2\rang\end{aligned} ∣ψ2⟩=CR2∣ψ1⟩=CS∣ψ1⟩=(I2⊗∣0⟩⟨0∣+S⊗∣1⟩⟨1∣)21(∣0⟩+ei2π0.j1∣1⟩)∣j2⟩=⎩⎪⎪⎨⎪⎪⎧j2=0, 21(∣0⟩+ei2π0.j1j2∣1⟩)∣0⟩j2=1, 21(∣0⟩+ei2π0.j1ei42π∣1⟩)∣1⟩=21(∣0⟩+ei2π0.j1j2∣1⟩)∣j2⟩
在 t 3 t_3 t3处:
∣ ψ 3 ⟩ = ( I 2 ⊗ H ) ∣ ψ 2 ⟩ = 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 1 j 2 ∣ 1 ⟩ ) 1 2 ( ∣ 0 ⟩ + e i 2 π 0. j 2 s ∣ 1 ⟩ ) \begin{aligned}|\psi_3\rang&=(I_2\otimes H)|\psi_2\rang\\ &=\frac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_1j_2}|1\rang)\frac{1}{\sqrt 2}(|0\rang+e^{i2\pi 0.j_2s}|1\rang)\end{aligned} ∣ψ3⟩=(I2⊗H)∣ψ2⟩=21(∣0⟩+ei2π0.j1j2∣1⟩)21(∣0⟩+ei2π0.j2s∣1⟩)
在 t 4 t_4 t4处:
∣ ψ 4 ⟩ = S W A P ∣ ψ 3 ⟩ = Q F T 2 ∣ j 1 j 2 ⟩ |\psi_4\rang=SWAP|\psi_3\rang=QFT_2|j_1j_2\rang ∣ψ4⟩=SWAP∣ψ3⟩=QFT2∣j1j2⟩
旁注:在n=2时, ∣ j 1 ⟩ |j_1\rang ∣j1⟩线路上有一个H门和一个条件(Condition)门, ∣ j 2 ⟩ |j_2\rang ∣j2⟩线路上有一个H门,而 ∣ j 1 j 2 ⟩ |j_1j_2\rang ∣j1j2⟩公共线路上有一个SWAP门,可以将其拆分为三个CNOT门。由此可知,n=2时的QFT,至少需要2+1+3=6个门
推广到 Q F T n QFT_n QFTn,则至少需要的门数为: n + ( n − 1 ) + ( n − 2 ) + . . . + n 2 × 3 ≈ n ( n + 1 ) 2 + 3 n 2 = O ( n 2 ) n+(n-1)+(n-2)+...+\dfrac{n}{2}\times 3\approx \dfrac{n(n+1)}{2}+\dfrac{3n}{2}=O(n^2) n+(n−1)+(n−2)+...+2n×3≈2n(n+1)+23n=O(n2)