警报警报!漫画部分到此结束,如果你不是严肃科普爱好者,可以直接拖到最后面点赞了!本次科普风格丝毫不轻松愉快,所以看完漫画就可以啦!

以下是严肃科普部分

【1】

在量子力学里面,一个粒子在某种测量方式下的状态可以用一组“本征态"和每个本征态的“几率幅”来描述。我们可以先举一个直观的例子:以第一图中的硬币为例,它的状态可能是(+0.8)*|正>+(-0.6)*|反>。

“本征态”可以理解为该测量方式下可能出现的结果。比如说,我们测量一个自由质子的位置,有无穷多种可能性,因此就对应了无穷多个本征态。如果我们要测量原子核外电子的自旋方向,只有正反两种可能(还记得泡利不相容原理么?),因此就只有两个本征态。凡是两个本征态的粒子,都可以用来表示一个量子比特。

而“几率幅”是每个本征态对应的一个系数。可以是正数,负数或复数,而测量时出现对应本征态的概率等于几率幅的模的平方——如果你对复数这个概念不感冒,可以只考虑正数和负数的情况,然后把几率幅理解成概率的平方根。至于具体几率幅的符号代表什么,可以看下面的问题。

很自然的推论是,所有本征态的几率幅的平方和必须是1。所以说,对刚才说的这个硬币而言,扔出去之后64%概率会出现正面,36%概率会出现反面。

当然,你可能会问了,用这个本征态和几率幅的方法表达粒子状态的话,那么用其他测量方式来测量会发生什么呢?比如说,刚才那个硬币如果我们想测量它的位置,该是多少呢?想要了解这个问题,需要理解波函数的概念以及本征态到底是什么。不过这个问题的答案就和量子计算没什么关系了。

【2】

图3中描述的这个态叫做贝尔态。对它的讨论可以牵扯到量子力学的实在论阐释,不过对理解量子计算而言我们不需要讨论那么多。重要的一点在于,对于多粒子(比如3个)的系统,到底需要多少个数字来描述?

如果3个粒子完全独立,那么6个几率幅当然就可以了。但是,假设其中两个粒子处于贝尔态:这两个粒子状态永远相反,那么你不管怎么调整每个粒子单独的几率幅都没法描述这个现象(自己试试看!)。但是,不管怎么说扔出来以后只可能有8个状态(000, 001, 010, ... 111),所以8个几率幅总是可以描述所有状态的。

这也就是为什么说粒子数增加的时候包含的信息量会是指数上升的原因。

【3】

所有对量子比特的操作都等价于对所有几率幅同时做改动。这是非常强大的计算能力,但是能做的操作有一定限制。量子计算的计算力非常强大,但是至今为止只有不多的几种针对特定问题的量子算法,这就是理由之一。当然,随着量子计算的发展可用的量子算法肯定越来越多。

-------------------------如果你对数学不感冒,可以跳过分割线的下面部分----------------------

对量子比特的操作仅限于对所有几率幅的线性变换,并且变换前后几率幅的平方和都必须是1。这在数学上被称为酉变换。

举个例子来说,我们想象一个量子力学里面的单qubit逻辑门Hadamard门。它会把

|正> 变成 1/sqrt(2)*|正>+1/sqrt(2)*|反>

|反> 变成 1/sqrt(2)*|正>-1/sqrt(2)*|反>

从几何上理解,你可以把正反两个状态的几率幅作为横坐标和纵坐标画在一个坐标系上。还记得说两者平方和为1么?也就是说这个几率幅会落在单位圆上。线性变换意味着所有操作都对应着坐标系上的反射或旋转。对Hadamard门来说,它等价于沿着一条22.5度斜率的直线所做的反射。

从代数上理解的话,这就意味着对任意量子态来说,你可以把几率幅乘到变换结果上然后加起来。也就是说,

(+0.8)*|正>+(-0.6)*|反> 会变成 (+0.8)*(|正>的变换结果)+(-0.6)*(|反>的变换结果)

也就是

0.8*(1/sqrt(2)*|正>+1/sqrt(2)*|反>) + (-0.6)*(1/sqrt(2)*|正>-1/sqrt(2)*|反>)

= (0.8/sqrt(2)-0.6/sqrt(2)) * |正> + (0.8/sqrt(2)+0.6/sqrt(2))* |反>

= 0.2/sqrt(2) * |正> + 1.4/sqrt(2) * |反>。这是一个反面概率高达98%的状态。

类似地,

(+0.8)*|正>+(+0.6)*|反>

会变成

1.4/sqrt(2) * |正> + 0.2/sqrt(2) * |反>。这是一个正面概率高达98%的状态。

你可以看到,几率幅的正负号会导致经过量子逻辑门之后的正负相消或正正叠加,从而导致不同本征态的概率的增加或减少。这种变化是量子现象中特有的,也是量子计算的特殊之处。

对于多量子比特的系统有着更多样的操作可能,不过仍然会受到上述条件限制。所有量子计算机和量子算法归根结底都是这类量子操作的排列组合。

-------------------------如果你对数学不感冒,可以跳过分割线的上面部分-------------------------

【4】

量子计算的结果读取也是受到限制的。量子力学的基本原理之一就是说,测量会改变系统的状态。当你对粒子做测量的时候,会按照概率得到所有可能的本征态之一。与此同时,粒子的状态会变成该本征态的纯态(该本征态系数为1,其他系数均为0)。如果接下来再做同样的测量,就会不断得到相同的结果。因此量子计算的目的是让系统变成某个本征态概率非常接近1,其余本征态概率接近0的状态。之后进行测量,得到的本征态就对应计算结果

由于任何观测都会改变几率幅的状态,因此量子计算只能在运算结束读取最终结果的时候测量一次,并且读取出来的结果(很可能)是随机的。当然了,虽然结果总免不了一定随机性,但是可以通过重复计算增加正解率。举个例子,如果一个算法的正确率有99%,那么重复执行11次,错5次以上的概率不超过0.0000001%。考虑到一些量子算法比传统算法快十个数量级(比如量子质因数分解算法分解RSA),即使重复10次也划算。

至于这个概率是什么意思,是有什么其他隐藏的我们还不知道的变量还是说上帝就在掷骰子……对理解量子计算来说并不重要。

【5】

量子计算的理论到实现还是有着很大的差距。比如说,从理论上而言你可以想象任意数量的粒子处在某种纠缠态,并对这些粒子同时进行运算--目前为止需要qubit最少的实用算法是50个左右。实际上,至今为止只能做到16个qubit的系统(IBM 5月的公告)。目前很多公司的期望是2020年达到50qubit,请大家拭目以待。

又比如除噪部分。事实上,量子系统非常容易受到扰动。任何“观测”都会导致量子态的改变。因此,需要抗干扰系统或者除噪的手段。比如说加一些验证用的qubit,不过这就又会回到qubit数的问题了。

看了半天还是没有看懂怎么办?不懂你还是一样可爱啊~~有什么关系!

也感谢所有认真看完的朋友们~~爱你们!

PS:本期为平媒《课堂内外·科学Fans》约稿给量子计算机相关科技新闻的配图插画。专栏在此发布了该插画,同时补充了原创的严肃科普部分,限于水平可能有说的不到位的地方,欢迎各位相关专业的朋友不吝指正。

PSPS:由于漫画表现能力有限(比如几率波就好难画最后还是抛硬币了……),涉及到具体的部分如果真想知道还是看严肃科普部分吧……顺便本篇其实写的很不成熟,算是抛砖引玉吧,欢迎大家讨论,有写错的地方也欢迎指出来,毕竟作者并不是量子计算方向的~~

原文发布时间为:2017-06-23
本文作者:antares
本文来源:创见,如需转载请联系原作者。

你能理解、不能理解和不需要理解的量子计算相关推荐

  1. 太多人关注,太少人理解,这就是“量子计算”

    <量子计算公开课:从德谟克利特.计算复杂性到自由意志>译后感. "将计算.物理.数学和哲学整合成一种连贯的世界图景的探索,可能永远不会结束." 图片来自网络,侵删 我在 ...

  2. java String长度与varchar长度匹配理解(字符和字节长度理解)

    java String长度与varchar长度匹配理解(字符和字节长度理解) string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char ...

  3. python装饰器的通俗理解_python装饰器的通俗理解

    在学习Python的过程中,我相信有很多人和我一样,对Python的装饰器一直觉得很困惑,我也是困惑了好久,并通过思考和查阅才能略有领悟,我希望以下的内容会对你有帮助,我也努力通过通俗的方式使得对Py ...

  4. python中的列表理解_掌握『Python列表理解』需要知道的9件事,你知道了吗?

    越来越多的人开始学习Python,它已经成为最流行的编程语言之一,这几乎发生在所有领域.比如网络开发.科学计算,当然还有人工智能. 无论想用python干什么,都绕不开学习Python的数据结构.变量 ...

  5. 装饰器python的通俗理解_Python装饰器的通俗理解

    在学习Python的过程中,我相信有很多人和我一样,对Python的装饰器一直觉得很困惑,我也是困惑了好久,并通过思考和查阅才能略有领悟,我希望以下的内容会对你有帮助,我也努力通过通俗的方式使得对Py ...

  6. 自然语言理解理论实践-主要的语言理解任务(一)《个人学习笔记》

    自然语言理解理论实践 主要的语言理解任务 1.域检测和意图识别 2.填槽 希望能多多交流,共同学习进步 主要的语言理解任务 首先,以介绍人机对话系统中使用语言理解为目标任务,进行之后的理论和实践背景的 ...

  7. 全面理解java内存模型_深入理解Java内存模型(八)——总结

    处理器内存模型 顺序一致性内存模型是一个理论参考模型,JVM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照.JVM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序 ...

  8. 现代物理学7大经典问题,你能理解几个?或许一个都不能理解

    来源:搜狐新闻·算法与数学之美 相对论 相对论是物理学中两大著名理论之一,两者都是阿尔伯特·爱因斯坦提出的.1905年爱因斯坦出版了狭义相对论,后者确定最终宇宙速度极限:光速.并称时间因某物体移动的速 ...

  9. 完全理解python迭代对象_完全理解Python迭代对象、迭代器、生成器

    1.assert:python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假.可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触 ...

最新文章

  1. DeepMind 的新强化学习系统,是迈向通用人工智能的一步吗?
  2. php怎么将表格导出到excel表格,php怎么将excel表格数据-php 怎么把数据导出到excel表格...
  3. 读书笔记-《增长黑客》-低成本、高效率的精准营销
  4. 关于feign调用时,session丢失的解决方案
  5. linux系统pycharm安装配置
  6. 广州.net俱乐部12月份ABP框架活动场地征集、志愿者征集、合作讲师\副讲师征集...
  7. Oleans集群之Consul再解释
  8. winshark重要数据结构
  9. scatter函数_散点图、箱线图、核密度函数……数据分析必备的9种可视化图表
  10. JAVA做一个五星评论打分字体,java中的Font
  11. 第三方监测平台在道路安全管理中的应用
  12. unity探索者之微信分享回调
  13. 全国高级计算机职称考试试题及答案,全国职称计算机考试复习题「附答案」
  14. 【C++】结构体变量与结构体指针大小区别(Socket sendto函数)
  15. 计算机办公软件基础知识题库,办公软件基础知识试题试卷--题库.doc
  16. 【ZookeeperDubbo系列二】Zookeeper+Dubbo集群安装配置详解
  17. NCIS调查表辅助工具-病案首页数据上传-病案数据统计
  18. 华为asph是什么型号_华为triple camera这是什么型号
  19. python求积分面积的几个方法
  20. 突破封锁——MAC地址欺骗

热门文章

  1. [翻译]高阶Python一学就会
  2. Confluence 6 匿名访问远程 API
  3. c语言 一个矩阵的乘积,c语言矩阵相乘
  4. utf—8在苹果手机上乱码_Xcode下的中文乱码问题
  5. [设计模式-行为型]模板方法模式(Template Method)
  6. [Teamcenter 2007 开发系列] web 非空验证
  7. 埋点用例管理_API管理平台之系统设计篇
  8. rgb颜色查询工具_认识色彩的三要素 理解颜色的此消彼长 合理使用工具改变照片色彩...
  9. html语言中glyphicon,Bootstrap字体图标无法正常显示的解决方法
  10. html加了文档声明之后页面错乱,为登陆页面扩展和配置设计导入程序