据国外媒体报道,量子纠错的话题性远不如“量子霸权”,对于量子计算机的应用而言,量子纠错却有着远超过量子霸权的重要性。那么,实用化的量子计算机将采用什么样纠错方法?最近,研究者在一台真正的机器上进行了演示。
单个量子比特的状态需要被换到9个量子比特上才能进行纠错
1994年,当时还在新泽西州贝尔实验室工作的数学家彼得·秀尔证明,量子计算机解决某些问题的速度要比经典机器快得多,甚至达到指数倍。问题在于,我们能造出量子计算机吗?怀疑者认为,量子态过于脆弱,以至于环境将不可避免地混淆量子计算机中的信息,使其根本不是量子态。
一年后,彼得·秀尔做出了回应。经典的纠错方案是通过测量单个比特来纠错,但这种方法不适用于量子比特(qubit),因为任何测量都会破坏量子态,从而干扰量子计算。秀尔找到了一种方法,可以在不测量量子比特自身状态的情况下,检测是否发生了错误。这一方法标志着量子纠错领域的开端。
随着这一领域的蓬勃发展,大多数物理学家开始将秀尔的算法视为构建实用化量子计算机的唯一途径。如果没有这种方法,就无法提升量子计算机的性能,使其能够解决真正困难的问题。
与通常的量子计算一样,开发纠错代码是一回事,而在工作机器中实现它则是另一回事。不过,在2021年10月初,由美国马里兰大学物理学家克里斯·门罗领导的研究团队报告称,他们成功演示了秀尔的纠错回路在运行时所必需的多个要素。
那么,彼得·秀尔是如何解决这个难题的呢?简单来说,他利用了量子力学的额外复杂性。
重复比较
彼得·秀尔在设计纠错编码时仿照了经典中继器的编码,其中包括复制每一比特的信息,然后定期检查这些副本。如果其中一个比特不同于其他比特,计算机就可以纠正这个错误并继续计算。
在秀尔设计的量子纠错编码中,他用三个独立的“物理”量子比特来编码信息的单个量子比特,即“逻辑”量子比特。当然,他的量子中继编码不可能和经典版本完全一样。量子计算的优势本质上来自量子比特可以同时存在于0和1的“叠加”中。由于测量量子态会破坏这种叠加,因此没有直接的方法来检查是否发生了错误。
经典的纠错方案是通过测量单个比特来纠错,但这种方法不适用于量子比特(qubit),因为任何测量都会破坏量子态,从而干扰量子计算。为了解决这一问题,量子纠错编码需要另辟蹊径,对量子比特的状态进行检测
相反,秀尔找到了一种判断这三个物理量子比特是否处于相同状态的方法。如果其中一个量子比特不同,就表明发生了错误。
检查量子比特是否发生错误,与解决一个简单的逻辑难题相差无几。如果给你三个看起来一模一样的球,但其中一个可能有不同的重量;再给你一个简易天平,你会用什么测量方法确定其中有没有质量不同的球?如果有,是哪个球?
答案是,先挑出两个球并比较它们的重量,然后用剩下的球替换其中一个,并再次检查。如果天平两次都保持平衡,那么所有的球都是一样重的;如果天平只平衡一次,那么被替换的球或用来替换的球是重量不同的;如果天平两次都不平衡,那么静止不动的球就是质量不同的那个。
秀尔编码用两个额外的“辅助”量子比特替换了天平。首先,比较第一个辅助量子比特与第一个和第二个物理量子比特;然后,比较另一个辅助量子比特与第二个和第三个物理量子比特。通过测量这些辅助量子比特的状态,就可以在不干扰三个包含信息的物理量子比特的情况下,了解它们是否处于相同的状态。
这段编码防止了所谓的“比特翻转”(bit flip)——经典计算中唯一可能发生的错误。然而,量子比特还有另一个潜在的错误来源。
叠加是量子计算的关键,但重要的不仅仅是量子比特的值,量子比特之间的相对“相位”也很重要。你可以将相位想象成波,其描述的是波峰和波谷的位置。当两个波同相时,它们的波纹是同步的。如果两个波发生碰撞,就会产生相长干涉(constructively interfere),合并成一个两倍大的波;但如果两个波是反相的,那么当一个波处于峰值时,另一个波则处于最低点,它们就会相互抵消,即相消干涉(destructive interference)。
量子算法利用了量子比特之间的相位关系,设置了这样一种情况:让计算的正确结果相长干涉,由此被放大,而错误的结果则通过相消干涉被消除。不过,如果某个错误导致了相位翻转,那么相消干涉就会变成相长干涉,量子计算机就会开始放大错误的结果。
彼得·秀尔发现,他可以使用与比特翻转相似的原理来纠正相位错误。每个逻辑量子比特被编码成3个量子比特,而辅助量子比特会检查其中一个相位是否翻转。然后,秀尔将这两种编码结合起来,获得了编码可以将一个逻辑量子比特转换为9个物理量子比特,从而纠正比特翻转和相位错误。
容错
秀尔的编码原则上可以保护单个逻辑量子比特不出错。但如果误差测量本身就存在错误呢?在这种情况下,当你试图纠正不存在的错误时,就可能出现比特翻转,不知不觉地引入一个真正的错误。在某些情况下,这会导致错误级联传播到编码中。
秀尔的编码也没有考虑如何操作由逻辑量子比特构建的量子计算机。在1996年,经过连续三年的开拓性研究,彼得·秀尔提出了容错的概念。容错编码可以处理由环境引入的错误,由对这些量子比特的不完美操作引入的错误,甚至由纠错步骤本身引入的错误——前提是这些错误发生的频率低于某个阈值。
就在2021年10月,一个研究团队宣布,他们成功使用了培根-秀尔编码(Bacon-Shor code)——秀尔编码的故障保护版本——来演示一个完全容错的量子计算机所需的几乎所有工具。他们将一个逻辑量子比特编码到9个离子的量子态中,然后使用4个辅助量子比特,证明可以在容错的条件下执行量子计算所需的所有单量子比特操作。结果表明,容错量子计算机是可行的。
不过,距离实现这个目标还很遥远,只有当量子计算机达到大约100个逻辑量子比特时,我们才会看到纠错所带来的优势。这样的机器需要大约1300个物理量子比特,因为每个逻辑量子比特需要9个物理量子比特加上4个辅助量子比特(目前最大的量子处理器是IBM新发布的Eagle,有127个物理量子比特),只有到这个时候,我们才能开始建造量子比特工厂,然后引入纠错编码。