跳到主要内容

量子相位估计算法

阐述

问题

UU 是作用于 mm 个量子位的算符且存在 ψ|\psi\rangle 使得 Uψ=e2πiθψU|\psi\rangle=e^{2\pi i\theta}|\psi\rangle (0θ<10\le\theta<1),要求以一定的精度估计 θ\theta

算法

  1. 准备两组寄存器分别初始化为 0n|0^n\rangleψ|\psi\rangle
  2. 在第一组寄存器上施加 Hn|H^{\otimes n}\rangle
  3. 依次在第一组寄存器的第 nin-i 个量子位和第二组寄存器之间施加 CU2iC-U^{2^i} 门,i=0,,n1i=0,\cdots,n-1
  4. 在第一组寄存器上进行逆量子 Fourier 变换
  5. 测量第一组寄存器,得到 a|a\rangle,则 θa/2n\theta\approx a/2^n

计算过程

根据量子反作用,施加控制门后系统的状态为

12nk=02n1e2πiθkk\frac{1}{\sqrt{2^n}} \sum_{k=0}^{2^{n}-1} e^{2 \pi i \theta k}|k\rangle

这个结果很像 Fourier 变换的产物,所以如果 θ=j/2L\theta=j/2^L,我们将直接得到 jj。如果不是的话,设 2nθ=a+2nδ2^{n} \theta=a+2^{n} \delta,其中 2nδ1/2|2^n\delta|\le1/2,可以计算变换后的结果为

12nj=02n1k=02n1e2πik(θj/2n)j\frac{1}{2^{n}} \sum_{j=0}^{2^{n}-1} \sum_{k=0}^{2^{n}-1} e^{2 \pi ik(\theta-j/2^n)}|j\rangle

δ=θj/2n\delta=\theta-j/2^n,它测量得到 j|j\rangle 的概率为

122n1e2πi2nδ1e2πiδ2\frac{1}{2^{2 n}}\left|\frac{1-e^{2 \pi i 2^{n} \delta}}{1-e^{2 \pi i \delta}}\right|^{2}

可以证明它大于 4/π24/\pi^2

实例

性质

相关内容

参考文献