警报警报!漫画部分到此结束,如果你不是严肃科普爱好者,可以直接拖到最后面点赞了!本次科普风格丝毫不轻松愉快,所以看完漫画就可以啦!
以下是严肃科普部分
【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
本文来源:创见,如需转载请联系原作者。