量子计算 21 量子算法 6 Shor Part III: QFT+PF

  • 1 周期寻找量子态
  • 2 QFT矩阵
  • 3 QFT解决周期寻找问题
    • 假如Q是s的整数倍
    • 假如Q不是s的整数倍

上回书介绍了QFT的量子电路,这其实是之前讲的Shor算法里面的第三步,我们今天来看第二步:

  1. 第一步,把质数分解问题,转化为周期寻找问题,这一步Shor认为是显然的,当然我们不会这么认为。。。
  2. 第二步,通过量子傅里叶变换QFT,以 O ( 1 ) O(1) O(1)查询复杂度解决周期寻找问题
  3. 第三步,建立QFT的量子电路,用 n O ( 1 ) = log ⁡ n O ( 1 ) n^{O(1)}=\log n^{O(1)} nO(1)=lognO(1)个量子门
  4. 第四步,把冰箱门关上,用Continued Fraction Algorithm把QFT的输出变成质数分解的结果,然后大象就装冰箱里了

1 周期寻找量子态

第二步就是在我们已经有了QFT之后,用QFT作用之后的测量结果如何能解决周期寻找问题(Period finding QF)

已知我们的第一步在量子计算19中已经得到了周期寻找问题的相关量子态:

∣ ψ ⟩ |\psi\rangle ∣ψ⟩的这些分量,本来是 ∣ 0101 … ⟩ |0101\dots\rangle ∣0101…⟩形式的二进制,不过目前转化成了整数来表达,有 q q q个qubit,整数的范围也就是 0 ∼ ( 2 q − 1 ) = ( Q − 1 ) 0\sim (2^q-1)=(Q-1) 0∼(2q−1)=(Q−1);从向量的形式来看,其分量 ∣ r ⟩ |r\rangle ∣r⟩也就是在第 r r r个位置上为1的单位向量。

2 QFT矩阵

我们的第三步已经在量子计算20中完成,即得到了QFT的快速量子电路,现在我们进行第二步,即将QFT作用于上述量子态。

QFT其实是以下矩阵 F Q F_Q FQ​:

F Q F_Q FQ​是个 Q × Q Q\times Q Q×Q的矩阵, Q = 2 q Q=2^q Q=2q, q q q是量子比特的数目; w i j = e 2 π i / Q w^{ij}=e^{2\pi i/Q} wij=e2πi/Q是单位1在复数范围的Q次方根。

3 QFT解决周期寻找问题

因此第二步就是 F Q ∣ ψ ⟩ F_Q|\psi\rangle FQ​∣ψ⟩,根据上述分析,对于 ∣ ψ ⟩ |\psi\rangle ∣ψ⟩中的第 l l l个分量 ∣ r + l s ⟩ |r+ls\rangle ∣r+ls⟩, F Q ∣ r + l s ⟩ F_Q|r+ls\rangle FQ​∣r+ls⟩的结果相当于取矩阵 F Q F_Q FQ​的第 r + l s r+ls r+ls行,因此 F Q ∣ ψ ⟩ F_Q|\psi\rangle FQ​∣ψ⟩结果为:

第一个求和,代表的是 F Q F_Q FQ​的第 r + l s r+ls r+ls行共有 Q Q Q个分量;第二个求和,代表的是 ∣ ψ ⟩ |\psi\rangle ∣ψ⟩共有 l l l个分量。

然后我们研究的问题就是,对于某个 ∣ k ⟩ |k\rangle ∣k⟩,其幅值的相干是constructive interference还是destructive interference,为此我们可以先忽略其中的global phase w r k w^{rk} wrk,因为对于特定的k是一样的,于是我们来看:

假如Q是s的整数倍

我们知道 w i j = e 2 π i / Q w^{ij}=e^{2\pi i/Q} wij=e2πi/Q

当 k s ks ks不是Q的整数倍时,随着 l l l的增长, k s l m o d Q ksl \mod Q kslmodQ会在 0 ∼ Q − 1 0\sim Q-1 0∼Q−1之间周期增长,反应到复数的单位圆上如下图,所以 L L L个这些周期复数加起来大多数就互相抵消了,所以就产生了destructive interference

那当 k s ks ks是Q的整数倍的时候, w k s l = 1 w^{ksl}=1 wksl=1,因此这样的 ∣ k ⟩ |k\rangle ∣k⟩的幅值,在 l l l个求和之后,是发生了constructive interference的。

所以大概率上,我们观测到的 ∣ k ⟩ |k\rangle ∣k⟩,对某整数 c c c,满足 k s = c Q ⟺ k = c Q s ks=cQ\iff k=c\frac{Q}{s} ks=cQ⟺k=csQ​,所以我们经过多次运行量子电路可以获得多个: c 1 Q s , c 2 Q s , … c T Q s c_1\frac{Q}{s}, c_2\frac{Q}{s}, \dots c_T\frac{Q}{s} c1​sQ​,c2​sQ​,…cT​sQ​,因此计算他们的最大公约数,在T很小的情况下,就能很大概率上获得我们想要的周期 s s s。

假如Q不是s的整数倍

假设对于量子态分量 ∣ k ⟩ |k\rangle ∣k⟩,有 k = c Q s + Δ k=c\frac{Q}{s}+\Delta k=csQ​+Δ,则当 Δ \Delta Δ越小,其被观测的结果越大,接下来分析: ∑ l = 0 L − 1 w k s l = ∑ l = 0 L − 1 e 2 π i k s l / Q = ∑ l = 0 L − 1 e 2 π i ( c Q s + Δ ) s l / Q = ∑ l = 0 L − 1 e 2 π i Δ s l / Q \sum_{l=0}^{L-1}w^{ksl}=\sum_{l=0}^{L-1} e^{2\pi iksl/Q}=\sum_{l=0}^{L-1} e^{2\pi i(c\frac{Q}{s}+\Delta)sl/Q}=\sum_{l=0}^{L-1} e^{2\pi i \Delta sl/Q} ∑l=0L−1​wksl=∑l=0L−1​e2πiksl/Q=∑l=0L−1​e2πi(csQ​+Δ)sl/Q=∑l=0L−1​e2πiΔsl/Q

因此,当 Δ \Delta Δ很小的时候,当 l l l在 0 ∼ L − 1 0\sim L-1 0∼L−1变化时,在复数单位圆上的变化如图,这种时候是方向相近的向量叠加,发生了constructive interference;
反之,当 Δ \Delta Δ较大时候,不同的向量方向差异较大,就会产生周期变化互相抵消,产生destructive interference,因为我们知道 L ≈ Q s L\approx \frac{Q}{s} L≈sQ​,所以 Δ \Delta Δ接近1的时候这些量子幅就相当于分布在单位圆周围一圈了,如果再小上几倍,比如小10倍,其实就变成了相当的constructive interference。

所以,很高概率上,我们观察到的 k = c Q s + Δ k=c\frac{Q}{s}+\Delta k=csQ​+Δ,是非常接近某个整数 c Q s c\frac{Q}{s} csQ​的,其概率分布图如下:

因此, k = c Q s + Δ ⟺ k Q = c s + Δ Q ⟺ ∣ k Q − c s ∣ = Δ Q k=c\frac{Q}{s}+\Delta\iff \frac{k}{Q}=\frac{c}{s}+\frac{\Delta}{Q}\iff |\frac{k}{Q}-\frac{c}{s}|=\frac{\Delta}{Q} k=csQ​+Δ⟺Qk​=sc​+QΔ​⟺∣Qk​−sc​∣=QΔ​,所以 ∣ k Q − c s ∣ = Δ Q |\frac{k}{Q}-\frac{c}{s}|=\frac{\Delta}{Q} ∣Qk​−sc​∣=QΔ​是很小的 ( ∼ 1 Q ) (\sim \frac{1}{Q}) (∼Q1​),我们已知观测到的 k k k和 q q q个qubit ( Q = 2 q Q=2^q Q=2q),不知道的是 c c c和 s s s,仅仅知道他们都是整数,且 s < < Q s<<\sqrt{Q} s<<Q ​。

怎么求解 c c c和 s s s呢?请见下回Continued Fractions!

量子计算 21 量子算法 6 (Shor Part III: QFT+PF)相关推荐

  1. 量子计算 19 量子算法4 (Shor Part I)

    量子计算 19 量子算法4 Shor Part I 1 从质数分解到周期寻找 定义modular exponential function即模幂函数: f ( r ) = x r mod  N f(r ...

  2. 量子计算机 漫画,漫画 | 10分钟看懂量子比特、量子计算和量子算法

    原标题:漫画 | 10分钟看懂量子比特.量子计算和量子算法 请做好准备,即将进入烧脑模式! 宏观世界的生活经验很多都是表象.比如,你可能认为世界的运行是确定的.可预测的:一个物体不可能同时处于两个相互 ...

  3. 量子计算与量子信息之Grover算法的量子电路实现

    量子计算与量子信息之Grover算法的量子电路实现 文章目录 量子计算与量子信息之Grover算法的量子电路实现 一.简介 二.电路的逻辑示意图 即使你并没有完全掌握量子计算的基本内容,仍然可以看懂这 ...

  4. 量子计算与量子信息读书笔记——第1章简介与概述(上)

    简介与概述 研究对象:使用量子力学系统能够完成的信息处理任务 基本概念涉及领域:量子力学.计算机科学.信息论和密码体系 历史背景 物理学 危机:经典物理学做出荒谬的预言 解决:量子力学理论创立 量子力 ...

  5. 量子计算与量子软件(一)

    量子计算与量子软件 摩尔定律 量子计算的起源 量子计算的公理 Qubit 最小的酉变化--量子门 量子测量 量子缠绕 不可克隆理论 量子算法 量子的线性性 量子计算的成就 本文的内容来自清华大学魏教授 ...

  6. 学习实践量子计算与量子

    本文转自 Learn Quantum Computing with the Quantum Katas - Q# Blog 本文章为机器翻译. 该文章的最新版本已迁移至个人博客[比特飞],单击链接 h ...

  7. 量子计算与量子信息_量子计算会破坏安全性吗?

    量子计算与量子信息 在过去的几年中,一种新型的计算机问世了:量子计算机. 可以说这是第六种计算机: 人类:在出现人造计算机之前,人们经常使用. 从事这项工作的人被称为"计算机". ...

  8. 研究量子计算机学什么,量子计算,量子信息技术,要学什么专业?

    量子计算,量子信息技术,要学量子计算机专业. 量子计算机(quantum computer)是一类遵循量子力学规律进行高速数学和逻辑运算.存储及处理量子信息的物理装置.当某个装置处理和计算的是量子信息 ...

  9. 量子计算与量子信息之量子计算概述

    量子计算与量子信息之量子计算概述 (这个是连载的哦,期待大家的持续关注啦-) 文章目录 量子计算与量子信息之量子计算概述 一.引言 二.初步感知 三.引言与概述 四.量子比特 1.量子比特的概念 2. ...

最新文章

  1. linux进程间通信-XSI IPC
  2. 微软宣布 Power Fx 开源
  3. 【最大团】【HDU1530】【Maximum Clique】
  4. 【Linux】Linux中vim的使用
  5. 【二分】【最小生成树】公路修建问题(P2323)
  6. CSS基础选择器(选择器的优先级),CSS样式块( 长度/颜色/显示方式/文本样式),盒模型组成,盒模型-block,盒模型布局...
  7. The used SELECT statements have a different number of columns 错误解决
  8. 零基础如何学前端,如何规划?
  9. python代码实现中心化_数据预处理——标准化(附python代码)
  10. 全心加入web前端开发,向上吧!
  11. 基于逻辑回归的评分卡模型简单概述
  12. 大数据领域常用算法总结
  13. 移动云Mas发送普通短信和模板短信
  14. java anymatch_Java Stream anyMatch() API
  15. python存储JSON
  16. mysql中in的参数有限制_数据库 in 可以包含的参数个数
  17. 中兴核心网服务器笔记本电脑,基于统一硬件平台的中兴通讯核心网技术介绍
  18. linux下 18 个实用的终端命令行工具
  19. django orm基本操作一
  20. shell script - BASH

热门文章

  1. 禅意Python - The Zen of Python
  2. php中Mysql常用操作类收集
  3. M: Triangular Relationship (数论)
  4. CMMI(能力成熟度集成)四个等级
  5. 数据采集卡采样率M Sa/s 与G Sa/s是什么意思
  6. 2020年中国经济蓝皮书(第四部分)
  7. 基于微信小程序的加油服务系统毕业设计源码
  8. 分享几个IP获取地理位置的API
  9. 毕业论文的页眉页脚?奇偶页不同?前言作为第一页?……?这样弄!
  10. 【Dash搭建可视化网站】项目13:销售数据可视化大屏制作步骤详解