当前位置:   article > 正文

量子搜索算法(Grover‘s algorithm)_grover搜索算法论文

grover搜索算法论文

一. 背景 

        在最近写的一篇论文中,需要从一个量子态|\psi\rangle中找到某几位中正数所对应的相位。看了很多博客,发现几乎所有的博客都是以均衡叠加态|\psi\rangle=H^{\otimes n}|0...0\rangle为基础进行搜索的,其中H是Hadamard门。这种搜索是把对应相位的振幅放大,也就是说振幅本身并不具备有价值信息,反而是相位具有,然后通过把振幅翻转到某些位置的相位上,增大其测量概率,然后翻转后的量子态就能够以较高的概率塌缩到振幅经过放大的相位。然而在有些量子算法中,更重要的信息是储存在量子态的振幅中,而不是相位,这个该怎么通过量子搜索算法实现呢?

注:|\psi\rangle=\cos\theta|0\rangle+\sin\theta|1\rangle\cos\theta\sin\theta是振幅,|0\rangle|1\rangle是相位。

二. 通用形式的Grover's algorithm

        对于被搜索量子态|\psi\rangle=H^{\otimes n}|0...0\rangle,用量子搜索算法对其进行搜索,需要四个酉矩阵:首先是标记矩阵O,这个矩阵的作用是把符合要求的相位的振幅翻转;其次是H^{\otimes n},在此称之为还原酉矩阵,目的是把量子态还原,便于后续振幅放大;再者是翻转算子P,P的作用是把量子态绕|0...0\rangle翻转,P+I=2E_{11};最后再作用一个H^{\otimes n}把量子态还原。上述四个过程是一次搜索迭代,一般来说,迭代次数大致为R=\sqrt{\frac{M}{N}},其中M是量子态维度,N是被搜索的相位个数。总结一下其最终的矩阵表示形式为|\psi_1\rangle=H^{\otimes n}PH^{\otimes n}O|\psi\rangle

        对于更一般的形式|\psi\rangle=U|0...0\rangle,量子搜索算法的操作过程与上述类似,其最终矩阵表达形式为|\psi_1\rangle=UPU^{\dagger}O|\psi\rangle

三. 问题的应用

        假定|\psi\rangle=U|0...0\rangle是M维的,需要被放大的振幅是前N个,其中有N-1个负数,只有一个正数,现在的目标是找出正数所对应的相位。首先,我们需要把正振幅给放大,保证其在被搜索的N个相位里振幅的绝对值是最大的,不然在迭代过程中有可能会把振幅绝对值最大的相位放到最大,在后续的测量中就会出错。这个操作的实现可以通过对前N相位作用一个如下的酉矩阵实现

.

然后我们把PM扩充到M维,通过添加E_{ii}即可实现,记为P_1,现在需要被搜索的量子态变为|\xi\rangle=P_1U|0...0\rangle=U_1|0...0\rangle

后面再通过|\xi_1\rangle=U_1PU^{\dagger}_1O|\xi\rangle即可实现振幅放大。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/598831
推荐阅读
相关标签
  

闽ICP备14008679号