查看原文
其他

QPanda2学习手册丨Amplitude Amplification

OriginQ 本源量子 2021-02-13



QPanda是由本源量子开发的开源量子计算编程框架,它可以用于构建、运行和优化量子算法。QPanda作为本源量子计算系列软件的基础库,OriginIR、Qurator、量子计算服务提供核心部件。

本节向大家介绍 Amplitude Amplification

振幅放大(Amplitude Amplification)线路的主要作用为对于给定纯态的振幅进行放大,从而调整其测量结果概率分布。



算法背景
对于某个已知大小的可二元分类且标准 f 确定的有限集合 Ω,基于 f 可以将集合中的任一元素 |ψ⟩ 表示为两个正交基态 0⟩,|ψ1⟩ 的线性组合。振幅放大量子线路可以将叠加态 |ψ⟩ 的表达式中 1 的振幅放大,从而得到一个结果量子态,能够以大概率测量得到目标量子态 |ψ1⟩ 。假设我们可以构造出某种量子门操作的组合,记该组合为振幅放大算子 Q ,将 Q 作用 k次于量子态 |ψ⟩ 上得到形如下式的量子态:那么就完成了所需的振幅放大量子线路构建。‍‍‍‍‍‍‍‍‍‍‍‍‍‍相应的量子线路图如下:假设基于集合 Ω 和分类标准 f 的量子态 |ψ⟩ 已经完成制备,关键在于构造振幅放大算子 Q 。
定义振幅放大算子如下:注解:如何通过集合 Ω 和分类标准 f 来制备量子态?P1,P 又是怎样通过量子线路实现的?简单验证可知在 {|ψ1⟩,|ψ0⟩} 张成的空间中算子 Q 可以表示为:
实质上可以视为一个角度为 2θ 的旋转量子门操作。因此有:选取合适的旋转次数 n 使得 sin2(2n+1)θ 最接近 1 即可完成振幅放大量子线路。相比经典的遍历分类方法,振幅放大量子线路可以充分体现量子计算的优势。

代码实例

振幅放大量子线路的相应代码实例如下输出结果应如下所示,分别以1和0的概率得到|0⟩和|1⟩欢迎分享交流👉参考地址:
https://qpanda-tutorial.readthedocs.io/zh/latest/AmplitudeAmplification.html
👉本源交流社区:https://qcode.qubitonline.cn/rostrum/index.html

👉粉丝交流群:
欢迎前往本源公众号底部菜单栏入群哟!
量子学习手册会不定期分享欢迎关注本专题推送

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存