量子计算 19 量子算法4 Shor Part I

  • 1 从质数分解到周期寻找
    • 定义modular exponential function即模幂函数: f ( r ) = x r mod  N f(r)=x^r \text{mod }N f(r)=xrmod N
    • 定理:如果能找到模幂函数则可以有效率的分解 N = p q N=pq N=pq
  • 2 周期变换量子电路

上回书简要介绍了数论基础、RSA加密算法和Shor算法基本流程,回顾下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 从质数分解到周期寻找

N = p q N=pq N=pq是我们要进行质数分解的数, n = ⌈ log ⁡ 2 N ⌉ n=\lceil \log_2N \rceil n=⌈log2​N⌉

挑选任意 x ∈ Z N x x\in\mathbb{Z}_N^x x∈ZNx​,即比 N N N小且与 N N N互质的数。

定义modular exponential function即模幂函数: f ( r ) = x r mod  N f(r)=x^r \text{mod }N f(r)=xrmod N

这个函数是我们讨论Shor算法的核心;该函数是周期函数,因为Euler’s Identity知道 x ϕ ( N ) = 1 mod  N x^{\phi(N)}= 1 \text{ mod }N xϕ(N)=1 mod N,且周期 s s s一定可以整除 ϕ ( N ) \phi(N) ϕ(N);根据上回书讲的repeated squaring算法, f ( r ) f(r) f(r)的计算是很高效的。

定理:如果能找到模幂函数则可以有效率的分解 N = p q N=pq N=pq

假设我们找到了周期 s s s: f ( r ) = f ( r + s ) f(r)=f(r+s) f(r)=f(r+s)

则: x r ≡ x r + s ( Mod N ) → x s ≡ 1 ( Mod N ) → x s − 1 ≡ 0 ( Mod N ) x^r\equiv x^{r+s} (\text{Mod N})\rightarrow x^s\equiv 1 (\text{Mod N})\rightarrow x^s-1\equiv0(\text{Mod N}) xr≡xr+s(Mod N)→xs≡1(Mod N)→xs−1≡0(Mod N)

假设我们lucky了一次,即s是偶数,这是完全可能的因为我们的x也是随机挑选的,则可以得到:
( x s / 2 − 1 ) ( x s / 2 + 1 ) ≡ 0 ( Mod N ) (x^{s/2}-1)(x^{s/2}+1)\equiv 0 (\text{Mod N}) (xs/2−1)(xs/2+1)≡0(Mod N)

假设我们lucky了第二次,即 ( x s / 2 − 1 ) (x^{s/2}-1) (xs/2−1)和 ( x s / 2 + 1 ) (x^{s/2}+1) (xs/2+1)都不是 N N N的倍数,这样的话,就只能是 ( x s / 2 − 1 ) (x^{s/2}-1) (xs/2−1)和 ( x s / 2 + 1 ) (x^{s/2}+1) (xs/2+1)分别包含了 N = p q N=pq N=pq中的 p p p和 q q q了,因此计算下面的式子,就可以得到 p , q p,q p,q!
gcd ⁡ ( x s / 2 + 1 mod  N , N ) \gcd(x^{s/2}+1 \text{ mod }N,N) gcd(xs/2+1 mod N,N) gcd ⁡ ( x s / 2 − 1 mod  N , N ) \gcd(x^{s/2}-1 \text{ mod }N,N) gcd(xs/2−1 mod N,N) 这个过程中用的计算就是上回书讲的repeated squaring和Euclid的公约数算法,都是多项式时间的算法。

这里关于能获得lucky两次的x的数量,最少有3/8,这里不做进一步证明,因此只需要随机试算x就总能两次lucky的。

2 周期变换量子电路

既然周期寻找算法可以有效的解决质数分解,那就来看看计算周期寻找算法的量子电路。

给定一个周期函数 f : { 0 , … , Q − 1 } → Z f: \{0,\dots,Q-1\}\rightarrow \mathbb Z f:{0,…,Q−1}→Z,通过让 Q = 2 q Q=2^q Q=2q大概是 1000 N 2 1000N^2 1000N2,使得其周期 s < < Q s<<\sqrt Q s<<Q ​,下一步目标即找到 s s s

跟量子计算17中的Simon量子电路有点像(其实本来就是在那个基础上发展的),其量子电路如图:

  • 第一步,先对前 q q q个 ∣ 0 ⟩ |0\rangle ∣0⟩ qubit进行Hadamard操作,这相当于创建了 2 q 2^q 2q个相同量子幅的 q q q-qubit的叠加,这些 q q q-qubit用整数来表达,其范围为 0 ∼ 2 q − 1 0 \sim 2^q-1 0∼2q−1,由此得到: 1 Q ∑ r = 0 Q − 1 ∣ r ⟩ ∣ 0 ⟩ q \frac{1}{\sqrt{Q}}\sum_{r=0}^{Q-1}|r\rangle|0\rangle^q Q ​1​r=0∑Q−1​∣r⟩∣0⟩q

  • 第二步,进行XOR-query,即进行操作 U f ( ∣ r ⟩ , ∣ 0 ⟩ q ) = ∣ r , ∣ 0 ⟩ q ⊕ f ( r ) ⟩ = ∣ r , f ( r ) ⟩ U_f(|r\rangle,|0\rangle^q)=|r,|0\rangle^q\oplus f(r)\rangle=|r,f(r)\rangle Uf​(∣r⟩,∣0⟩q)=∣r,∣0⟩q⊕f(r)⟩=∣r,f(r)⟩

  • 第三步,测量后面的 f ( r ) f(r) f(r),根据类似于量子计算17中Simon算法的分析, f ( r ) f(r) f(r)的值被观测到之后, ∣ r ⟩ |r\rangle ∣r⟩的状态,也只剩下 f ( r ) f(r) f(r)相同的部分,即如下的叠加态: ∣ r ⟩ + ∣ r + s ⟩ + ⋯ + ∣ r + ( L − 1 ) s ⟩ L \frac{|r\rangle+|r+s\rangle+\dots+|r+(L-1)s\rangle}{\sqrt L} L ​∣r⟩+∣r+s⟩+⋯+∣r+(L−1)s⟩​ 其中 L ≈ Q / s L\approx Q/s L≈Q/s

  • 第四步,也像是Simon算法中用了Hadamard门来同时获取有用的信息,这里就没这么简单了,要用到QFT操作,这个下回书再看~

量子计算 19 量子算法4 (Shor Part I)相关推荐

  1. 量子计算 21 量子算法 6 (Shor Part III: QFT+PF)

    量子计算 21 量子算法 6 Shor Part III: QFT+PF 1 周期寻找量子态 2 QFT矩阵 3 QFT解决周期寻找问题 假如Q是s的整数倍 假如Q不是s的整数倍 上回书介绍了QFT的 ...

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

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

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

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

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

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

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

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

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

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

  7. 量子计算和量子模拟研究获进展

    来源:中国科学技术大学 北京时间11月19日,中国科学技术大学潘建伟.苑震生等与德国海德堡大学.意大利特伦托(Trento)大学的合作者在超冷原子量子计算和模拟研究中取得重要突破:他们开发了一种专用的 ...

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

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

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

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

最新文章

  1. 文本挖掘预处理流程总结(2)— 英文
  2. JVM字节码指令集大全及其介绍
  3. 博士申请 | 阿联酋阿布扎比人工智能大学许志强老师招收全奖博士/硕士
  4. 数据挖掘学习06 - 《数据挖掘导论》导读
  5. 正则表达式系统教程.CHM
  6. python从入门到放弃表情图-[python从入门到放弃]基于百度OCR的文字识别
  7. mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码
  8. WF4.0 基础篇 (二十五)(补充) ActivityFunc 与 InvokeFunc
  9. Tableau bug合集1:无法展示emoji表情包
  10. html app5 仿微信朋友圈,uniapp仿微信聊天App界面|仿微信朋友圈|uniapp仿微信
  11. 博客营销为何这么神奇而不被淘汰的
  12. meshlab简单实践
  13. 二维数组调时候的传参问题 and 一维数组的中括号秘密( [ ] )——实参与形参的对应 —————— 开开开山怪
  14. IDEA方法名,javadoc神器
  15. IP地址常见分类:A类、B类、C类、D类、E类
  16. ios 升级后 不能在xcode 真机运行的报错处理
  17. jQuery 实现音乐导航案例
  18. 无监督学习的简单统一
  19. 关于720全景视频在移动端播放的兼容问题汇总,截止2017年11月29日
  20. 再见,Java字符串是不可变的

热门文章

  1. Java入门日记1 | 第一周总结
  2. 【简单应用】STC8+OLED(4P)显示
  3. 中断向量,中断向量表 ,中断服务函数
  4. f下行到什么形成全音_乐理试题二
  5. MySQL图形化用户界面客户端的安装与介绍(SQLyog)
  6. 软考程序员有必要考吗?
  7. 风铃机器码修改器2.2单进程单ID硬件信息用于解除机器码硬件修改大师多开器部分游戏
  8. 字符串转为 double 类型
  9. ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测?
  10. 广东省污水处理厂数字孪生平台建模_三维可视化平台_吉优赛维数字孪生_三维激光扫描_BIM建模