第一部分:IBM量子体验
(一)量子世界
今天的计算机使用标准的(或用物理学家的话来说,“经典的”)计算模型来执行计算与处理信息,此计算模型要追溯到图灵(Turing)和冯・诺伊曼(Von Neumann)时期。在此模型中,所有信息可归约为比特(bits),一个比特可取0或1两者之一的值——并且所有处理可以通过简单的逻辑门(与、或、非、与非)来执行,这些逻辑门一次作用于一个或两个比特位。在计算过程中的任意一点,经典计算机的状态由其所有比特的状态所决定,这样一个具有n个比特位的计算机可以存在2n个可能的状态,范围从00...0(全零) 到11...1(全1)。
与此同时,量子计算机的能力在于其丰富地多的全部状态。一个量子计算机也具有比特,正如任一计算机一样。但其量子比特,又称为量子位(qubit,[kju:bit])不是表示0和1,而是可以表示0、1或同时表示0、1(即一个(0, 1)向量),这个属性被称为叠加(superposition)。这对于其本身而言并没有什么帮助,由于一台计算机其比特可能处于0到1之间的中间状态,正是一台模拟(analog)计算机,简直没有一台普通的数字计算机的能力强大。量子计算机利用了一种特殊的叠加,以至于一次允许指数级数量之多的逻辑状态,所有状态从|00...0⟩到|11...1⟩。这是一个强大的技能,并且没有任何一台经典计算机可以实现。这些量子叠加的绝大多数,以及对于量子计算最有用的就是纠缠(entangled)——它们是整个计算机的状态,它们不对应于任一数字分配,也不对应于单个量子位的模拟状态。尽管没有指数级数量之多的经典计算机的能力强大,但一台量子计算机要比任何一台经典计算机要强大得多——无论它是确定的、有概率的,还是模拟的。对于一些著名的问题(诸如因式分解大数),量子计算机很明显相比于经典计算机而言就是大赢家。一台工作的量子计算机在一天所能因式分解的数,对于经典计算机而言可能需要数百万年。
有人可能认为由于需要复杂的数学知识,理解量子计算或量子物理会显得比较困难……但实际上,从数学上而言,量子概念仅比高中代数稍复杂些而已。量子物理是困难的,因为像爱因斯坦的相对论,它要求消化简单却又违反直觉的概念。在相对论上,奇怪的概念是时间与空间是相互联系的,而直觉告诉我们,它们应用是相互独立的。如果你设法通过时间与空间开始给某个人解释相对论,那么你可能会迎来茫然的凝视。一个更好的开始方式就如爱因斯坦所做的,解释相对论遵循一个简单的物理原理:对于所有匀速移动的观察者而言,光速都是相同的。这一适度的概念然后就变为了极其深远的,并通过必然的逻辑通向爱因斯坦的时空。
为了要接触量子物理,我们必须接受的反直觉的概念有:
(1)在一个完美确定状态下的物理系统,仍然可能表现出随机行为。
(2)两个相距甚远而相互影响的系统仍然会以这种方式表现:尽管它们独立地随机,然而又会以某种方式紧密关联。
不幸的是,不像相对论,这些结论没有简单的物理原理可遵循。我们最好能做的就是将量子机制提取为一些听起来抽象的数学定律。从这些数学定律,对量子粒子(以及量子计算机中的量子位)的所有观察到的行为都可以被推导和预测。并且伴随着相对论,我们必须提防试图用经典术语来描述量子概念。
(二)黑、白与黑白中的量子定律
就目前我们所知,量子定律是最基本的物理定律;它们是不可侵犯的。以下是我们提炼出来的五条关键定律。
1、量子是与其它事物相似的系统
对于每个物理系统,相当于一个希尔伯特空间(Hilbert space)的维度等于系统最大个数能确切区分出来的状态。希尔伯特空间是具有复杂系数与内积的一个线性向量空间:⟨Φ|ψ⟩ = ∑Φi*ψi 。对于一单个量子位,有两个标准的正交状态(计算基础状态),一般记为:|0⟩ = (1 0)且|1⟩ = (0 1)。
2、一个量子状态是系统的一个配置
希尔伯特空间中的每个方向(射线)对应于系统的一个可能状态,有两个状态是明确可区分的,当且仅当这两个方向是正交的(即内积为零)。其它量子状态包括:|+⟩ = (1/√2)(1 1),|-⟩ = (1/√2)(1 -1),|↻⟩ = (1/√2)(1 i),|↺⟩ = (1/√2)(1 -i)。
3、一个量子状态改变;它自然想要演化,但它总是可以被撤销。
一个封闭系统的演化是在其希尔伯特空间的一个单位变换。单位意味着保留线性与内积。
4、组成——如何将各个部分组合成一个整体
一个复合系统的希尔伯特空间是各个部分希尔伯特空间的张量积。一个双量子位系统可以存在于一个乘积状态,诸如|00⟩或|0+⟩,但也可以存在于一个纠缠状态(|00⟩ + |11⟩) / √2,在这种情况下,任一量子位都不具有一个明确的状态,即便两个组合在一起会具有。
5、量子测量是概率性的
对相应于将其希尔伯特空间分解为正交子空间{∏j}系统的每一次可能测量,这里∑∏j = 1。在状态|ψ⟩上,结果j以概率P(j) = ⟨ψ|∏j|ψ⟩发生,并且在测量之后的状态为|ψj⟩ = ∏j|ψ⟩ / √P(j)。测量导致系统概率性地做出行为,并忘记其先前测量状态,除非该状态正好整个位于子空间∏j的其中之一。
(三)量子合成器
量子合成器是我们用于对一个量子处理器编程的图形化用户界面。对量子计算熟悉的人可以将合成器看作为构件量子电路的一个工具,可以使用包含良好定义的门电路以及测量的库。对于不熟悉的人来说,我们将会解释一些关键部分。
当你第一次点击上面的“Composer”标签,系统会询问你当前想要运行一个理想的量子处理器还是一个真实的量子处理器。这涉及到了系统的拓扑。在理想的处理器中,门可以被放置在任何地方,而在真实的处理器中,拓扑由正在我们实验室里运行的物理设备设置(注意,这限制了两个量子位门的某些使用性)。
一旦你处于“Composer”标签页面,你可以开始制作你自己的量子电路!我们把这个描述为一个量子谱,因为它在某些方面类似于音乐上的五线谱(即乐谱
第一部分:IBM量子体验的更多相关文章
- IBM Bluemix体验:Containers
国际版的Bluemix目前有三个region,US South,United Kingdom和Sydney.其中US South是功能最全的,UK其次,Sydney功能最少.Containers服务在 ...
- IBM Bluemix体验:Containers持久存储
上一篇介绍了在Bluemix Containers服务中使用docker hub镜像和container的高可用配置.接下来我们尝试如何在容器中使用持久存储. 在Bluemix的Containers服 ...
- 寒假生活第一天——Github初体验
快开学了,今天体验了一下github这个对我来说很是神秘的东西 它的定义来源于百度百科,如有异议,那就有吧.//gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格 ...
- IBM Bluemix体验:Containers进阶
上一篇中介绍了Bluemix的Containers服务以及如何使用自定义的docker image创建一个容器实例并对外提供服务.除了自定义镜像之外,Bluemix Containers还可以使用Do ...
- 第一天的php体验
第一次了解php.以前对于程序猿的认知是很片面的.因为没有了解过.今天通过一天的了解交流,有了新的认知.对于这个主要应用于前端的语言还是很有兴趣的.毕竟可以亲眼看到自己做出来的网页,心里的成就感肯定满 ...
- IBM新合作伙伴计划助力企业转型升级
IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步. ...
- Ruby 基础教程 第一部分总结
第一部分:Ruby 初体验 第一章: Ruby 初探 前言 开头的这一章节讲了一些十分基础的内容,重要的几个话题有: ruby 命令的执行方法 对象.方法的概念 常见的打印方法 ruby 命令的执行方 ...
- Docker下实战zabbix三部曲之一:极速体验
对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践: 环境信息 ...
- [转帖]IBM开源Power指令集:国产高性能CPU迎来新机遇?
IBM开源Power指令集:国产高性能CPU迎来新机遇? https://www.cnbeta.com/articles/tech/880971.htm cnbeta的新闻.. 希望高性能CPU 能快 ...
随机推荐
- 斯坦福第十课:应用机器学习的建议(Advice for Applying Machine Learning)
10.1 决定下一步做什么 10.2 评估一个假设 10.3 模型选择和交叉验证集 10.4 诊断偏差和方差 10.5 归一化和偏差/方差 10.6 学习曲线 10.7 决定下一步做什么 ...
- ubuntu Screen 的比较详细的命令
Linux Screen Commands For Developers 转自:http://fosshelp.blogspot.com/2014/02/linux-screen-commands-f ...
- SQL中Group By 的使用
1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...
- 占位符(placeholder text)
占位符(placeholder text)是用户在input(输入)框输入任何东西之前放置在input(输入)框中的预定义文本. 你可以用如下方式创建占位符: <input type=" ...
- 关于调整浏览器窗口JS
有时候需要对浏览器窗口的大小进行元素的操控,当调整窗口大小时用window.onresize=function(){} 页面初始化window.onload=function(){} 要注意的是onr ...
- springmvc之interceptor(拦截器)
1.自定义MyInterceptor impletments HandlerInterceptor public class MyInterceptor implements HandlerInter ...
- NSString几个函数
第一.判断是否包含前缀于后缀 NSString *str=@"hello andy yang"; if([str hasPrefix:@"hello"]) { ...
- TeraData金融数据模型
Teradata天睿公司(纽交所代码:TDC),是美国前十大上市软件公司之一.经过逾30 年的发展,Teradata天睿公司已经成为全球最大的专注于大数据分析.数据仓库和整合营销管理解决方案的供应商. ...
- Server Develop (五) Linux并发模型
Linux并发模型 目前可以实现并发程序的方法有Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模 ...
- ajaxFileUpload上传文件后提示下载的问题
在某些版本浏览器下ajaxFileUpload上传文件会提示下载, 1:为什么? 可以观察到,即便返回 JsonResult 在返回的头中也没有任何消息体,直接理解为文本了. 2:解决方案 前端: f ...