电子最有趣的特性之一是自旋。它就像附着在电子上的一个小箭头,让电子变成一块小小的磁体。箭尖就是磁体北极的方向。
自旋态:向上还是向下?
如果你测量自旋指向哪个方向,比如指向上方或指向下方,那么答案只有两种可能,即“自旋向上”和“自旋向下”。介于二者之间的答案并不存在,二者是测量得到的仅有的两种结果。总之,结果绝不会是“自旋向侧面”。英国物理学家保罗·狄拉克为这两种可能性发明了简明的小符号:“向上”的符号是│↑〉,“向下”的符号是│↓〉。
量子位:向上、向下或介于两者之间
既然这是一个量子系统,那么电子的自旋不一定非要处于│↑〉或│↓〉状态,它也可以处于两者的叠加态。就像薛定谔的猫可以同时活着和死掉一样,电子的自旋也可以有一定的可能性同时处于向上和向下的状态。事实上,自旋可以是│↑〉和│↓〉的任意线性组合。我们可以将之写成:
│Ψ〉=p│↑〉+q│↓〉
数字p和q的意思如下:如果一个电子的自旋是│Ψ〉,其借助数字p和q进行表示,那么当你测量自旋的z分量时,你得到“向上”的结果的概率是p2,得到“向下”的结果的概率是q2。既然只有这两种可能,那么它们的概率加起来应是100%。物理学家不喜欢用百分数,他们更喜欢用0(完全不可能,即0%)和1(完全确定,即100%)之间的分数。所以p和q需要符合以下条件:它们的平方之和加起来为1。电子自旋的每一个状态看起来都是某个│Ψ〉,只是p和q可能不同——只要p2和q2相加为1就可以了!
如果你以前使用过计算机,你可能知道:如果自旋可以向上或向下,那么这似乎是存储信息的绝佳选择。在我们所熟悉的计算机中,所有的数据都是用一系列的0和1来表示的,它们被称为比特。但至于你是用0和1来表示,或用“开路”和“短路”来表示,还是用“有电流通过”和“无电流通过”来表示,都不重要——这只是技术上的实现。重要的是,你需要两种不同的状态将信息的小单元进行编码。
这就是电子自旋的作用——如果你测量它,它不是“向上”就是“向下”。因此要想存储信息,你只需要有很多自旋就可以了。而且这些自旋要么处于│↑〉状态,要么处于│↓〉状态。但是请记住:自旋并不局限于这两个值,还可以达到这两个值的任何一种叠加状态!这就是电子的自旋不叫“比特”,而叫“量子比特”,简称“量子位”的原因。
如何同时玩《愤怒的小鸟》和《战地3》
能够存储和操作量子位而不是普通信息位的计算机,通常被称为量子计算机。它的工作原理与我们办公室和家里的普通机器有着本质上的不同。
因为一个量子位也可以有“向上”和“向下”的值,所以量子计算机可以做到普通计算机所能做到的一切——甚至更多!例如,它可以在一块内存中存储不止一个数字。
举例来说,现在我们将“自旋向上”设为“1”,将“自旋向下”设为“0”。那么,你可以利用四个比特位组成的内存进行存储了。假设你要存储的是数字5。在二进制中,数字5用0101这四个比特位表示。所以,在量子计算机中,这将是│↓〉│↑〉│↓〉│↑〉。同理,数字7就是│↓〉│↑〉│↑〉│↑〉。但你也可以使用任何其他的量子位,例如一个量子位的值为:
这样上述四个量子位的值可以表示为│↓〉│↑〉│→〉│↑〉(即将第三个量子位的值│↓〉和│↑〉替换为│→〉),5和7这两个数字就会同时被它存储起来!如果你现在读取内存(这就像去测量“所有自旋”),你将得到5或7,结果为两者中任一的概率均为50%。但是,还有很重要的一点,在量子计算机中执行计算并不是测量。所以你可以同时进行几种不同的计算,自旋的波函数也不会坍缩。对了,现在我给计算机极客们出一道题:如果量子位的读数是│→〉│→〉│→〉│→〉,那内存中存储着哪些数字?
对网络安全的威胁?
要利用量子计算机的力量构建实际的算法事实上是相当复杂的,但可以做到。理论上,有一些运算用量子计算机可以比普通计算机快得多。
这一点对于网络加密来说相当重要。现代加密算法之所以如此安全,是因为这样一个事实:显然,将一个9万位数分解成两个质因数是非常非常困难的。如果只是简单地用蛮力尝试所有可能性,一台普通的计算机需要一个世纪才能完成这个任务。量子计算机则能以快得多的速度完成——这对所有的加密技术来说都是一个巨大的风险!
不过你放心,你的网上银行数据是无法被破解的(只要银行的程序代码中没有后门……),原因有二:首先,即使我们有量子计算机,银行也完全可以换一种加密算法。如果该算法并非基于质因子分解,而是别的东西,我们就又安全了。事实上,面对有些算法,量子计算机和普通计算机同样难以解决。我们目前只是没有在全球层面上使用它们而已,因为没有必要。
其次,到目前为止,还没有人真正造出一台管用的、高效的量子计算机。虽说有一些实验性的设计可以利用少量的量子位工作,但都没取得什么突破(至少在写这本书时没有)。要想真正有所突破,我们必须得使用很多很多的量子位,而且不能测量它们。量子位的威力在于,它们可以处于两个比特的叠加状态,但前提是没有人看它们。不过要想不测量就对它们进行操作,建立这样一个环境真的很难。所以从某种程度上来说,除非我们能设法让薛定谔的猫长期稳定地处在既活着也死了的状态,否则量子计算机我们还是不要考虑了。