赞
踩
在最近写的一篇论文中,需要从一个量子态中找到某几位中正数所对应的相位。看了很多博客,发现几乎所有的博客都是以均衡叠加态
为基础进行搜索的,其中H是Hadamard门。这种搜索是把对应相位的振幅放大,也就是说振幅本身并不具备有价值信息,反而是相位具有,然后通过把振幅翻转到某些位置的相位上,增大其测量概率,然后翻转后的量子态就能够以较高的概率塌缩到振幅经过放大的相位。然而在有些量子算法中,更重要的信息是储存在量子态的振幅中,而不是相位,这个该怎么通过量子搜索算法实现呢?
注:,
和
是振幅,
和
是相位。
对于被搜索量子态,用量子搜索算法对其进行搜索,需要四个酉矩阵:首先是标记矩阵O,这个矩阵的作用是把符合要求的相位的振幅翻转;其次是
,在此称之为还原酉矩阵,目的是把量子态还原,便于后续振幅放大;再者是翻转算子P,P的作用是把量子态绕
翻转,
;最后再作用一个
把量子态还原。上述四个过程是一次搜索迭代,一般来说,迭代次数大致为
,其中M是量子态维度,N是被搜索的相位个数。总结一下其最终的矩阵表示形式为
。
对于更一般的形式,量子搜索算法的操作过程与上述类似,其最终矩阵表达形式为
。
假定是M维的,需要被放大的振幅是前N个,其中有N-1个负数,只有一个正数,现在的目标是找出正数所对应的相位。首先,我们需要把正振幅给放大,保证其在被搜索的N个相位里振幅的绝对值是最大的,不然在迭代过程中有可能会把振幅绝对值最大的相位放到最大,在后续的测量中就会出错。这个操作的实现可以通过对前N相位作用一个如下的酉矩阵实现
.
然后我们把PM扩充到M维,通过添加即可实现,记为
,现在需要被搜索的量子态变为
。
后面再通过即可实现振幅放大。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。