@RunZhi
2017-09-12T12:50:12.000000Z
字数 5508
阅读 1394
量子计算
本文作为文艺青年斌头老师的教师节礼物,记于2017/9/10
本文主要给出量子比特的相关定义,不会对其进行直观解释。本文也会提出部分其他的量子计算知识,比如测量、量子电路等,但这些描述主要为了帮助描述量子比特,所以缺乏一定的严谨性。更多内容可继续参考“量子计算”系列文章。
初入量子计算,最重要的是什么?对概念的熟悉胜于直观的理解。后面有FAQ,有一定的参考价值。
经典计算机中,运算的最小单位是比特。我们称其为经典比特。而在量子计算机中,运算的最小单位也有对应物:量子比特。我们在研究经典计算机的理论的时候,常常把比特作为一种抽象的数学对象,并不考虑实现。当然,学过数字逻辑电路的人一般会了解经典比特如何实现。而在研究量子计算的时候,我们也会把量子比特(有时也称为量子态)看做是一种抽象的数学对象,在研究时暂不考虑实现。当然在实践中,会有其物理对应物进行实现。
经典比特的表达很简单,一个单经典比特只有两种状态:或。而量子比特相对特殊,其有一种通用的表达:Dirac notation:
更细化一点,我们常用线性代数来描述量子计算。我们常常把一个单量子比特看做是在(二维复空间)的一个向量.其中,是该空间的两个单位正交基.因此单量子比特就是二维复空间的一个单位向量。一般情况下,我们会令
上述的和常常可以对应于经典比特的和,然而由上面的定义可以看出,一个量子比特可以有无穷种状态。
经典计算机下,多比特就是一个0,1比特串。比如说,0000就是一个四比特的经典比特。而量子计算下,多量子比特和经典情况的表达有所类似也有所不同。比如就是一个四比特的量子比特。乍看之下似乎就是比经典比特多了一个符号,然而其隐藏的数学意义大有不同。请参考 多量子比特与tensor product(未完成)。
一个二位的量子比特表达为:
n比特量子态下也有类似定义,它会有个基本态,从(n个0)到(n个1),n比特的量子比特就是这个基本态的线性组合(叠加态)。一般我们会把基本态所带的线性组合系数(如式(2)中,前的)称为量级(magnitude),它会影响测量的结果(后面会简述何为测量)。
一个自然的问题是,量子计算比经典计算好在哪里?从多量子比特的表达上可以初窥一点量子计算的强大:一个n比特的量子态,能够"包含"个经典比特的信息(把对应为经典比特串"0...0")。比如,简单考虑的情况:
(本部分的描述缺乏一定的严谨性,更多详细内容请参考 测量(未完成)。)
要从一个比特中获得信息。我们需要对其进行测量。而在经典比特中,当我们写一下一个单比特,它的状态就已经定下来:非0即1,这相当于不用测量。(当然在实现中还是要测量:根据电平高低决定0或1)而量子比特有无穷种状态(它是基本态的线性叠加,而其线性叠加系数取值(量级)有无穷多种),那么对一个量子比特进行测量会得到什么?
回顾到单量子比特:
我们说对该量子比特进行测量,并不是测出和。而实际上,测量并不能让我们了解该量子比特处于什么状态(因为对和的未知)。
很不严谨地讲,对该量子比特进行测量,只会得到两种结果:"0","1"。其中,测得0的概率是,测得1的概率是。(注意到)也就是说,量级对应着其测量结果的概率。
(以下的描述不算很不严谨,算挺不严谨)
一个很自然的问题是,为什么对测量会得到结果0或1?实际上,此处"0"和"1"只是标明两种状态,两个不同的结果。实际上,当我们进行测量时,还需要指明测量对应的基,上面的描述是基于基的测量。比如说,我令:
注意,这里的+,-都是记号。容易验证、是一组标准正交基。我们可以把(1)式重写成:
如果我们根据基对进行测量,那么我们会以的概率得到结果"+",以得到结果"-"。
注意,在dirac notation里面的0、1、+、-都是记号,表明不同的状态。
薛定谔的猫的故事请自行搜索。看完该故事,我们可以定义一个单比特量子态出来:
当我们打开盒子,这就相当于对量子态进行测量,选取的"基"是和,测量结果以一半的概率是“生”,一半的概率是“死”。
注意,一只猫当然不可能处于既死又活的状态。薛定谔提出该“故事”有其特殊的科学历史背景,详情请自行搜索。
有一定计算机科学基础和了解大数定律的同学,可能会想:如果我不断地对测量,比如说,测量10000次,如果得到结果为0的次数为5000,得到结果为1的次数为5000,那么我不就可以认为了吗?也就是说我可以测出一个量子比特究竟处于何种状态。
但实际上,这样是不行的,当我们对一个量子态进行测量,我们得到了相应的输出结果,与此同时我们也破坏了该量子态,使其崩塌,的值会被改变。一个量子态测量后会受到什么样的崩塌取决于进行了什么样的测量,具体参考 测量(未完成)。但总之,我们是无法通过测量知道量子究竟处于何种状态。
表达一个单量子比特的时候,往往可以使用Bloch sphere。在操作单量子比特的时候,使用Bloch sphere也能得到直观上的理解。
由,我们可以重写为:
由(2)式,引出Bloch sphere:
并没有在图中体现出来,这是因为不具有观测效应,即它的值并不影响结果"0"和结果"1"的测量概率。
角意味着量子态在和之间的偏差(实际上应该说为两种不同状态之间的偏差),他决定了两种结果的出现概率。而由于考虑到量级会是虚数,因此要考虑上。
可以看出,一个单比特量子态,就对应着这个球面上的某一个点,显然这个球面上有无数个点,即单比特量子态有无穷多个。当我对这个量子态进行测量后,这个量子态就会从原本的地方“跳跃”到球面上的另外一个地方(被改变)。
一个很自然的问题是:为什么(2)式里要取?这和这个图有关,当为的时候,量子态应该是在这个球的“赤道”上,它处于和的"中间态",两个基本态对应的量级应该是,而如果不取而是取,那么此时,
夹角的值并不影响测量得到0或1的概率。如果把x-z平面理解为实数平面的话,那么加上y轴就为整个空间引入了复数。而这个在某种意义上,可以度量量子态和x-z平面的夹角。当不等于0的时候说明量级是复数。比如说考虑如下量子态:
有一点要注意的是,不能因为这个图而得到结论:。在考虑这个图的时候,我们应放下之前所说的"和是一组的标准正交基",而是要把视角切换为、分别是量子态的“两极”,而、分别衡量量子态与两极在三维空间下的夹角关系。
(未完成)
讲了这么多,迷糊了这么久,究竟什么值得记住?