
在构建大规模量子计算机的征程中,最大的障碍莫过于其基本组成部分——量子比特(qubit)——固有的脆弱性。与经典比特不同,量子比特容易受到环境噪声的影响,这个过程被称为退相干,它会破坏量子比特所承载的精密量子信息。为克服这一难题,我们需要一个稳健的保护方案,这便引出了量子纠错领域。其目的并非构建完美的量子比特,而是设计一个能够使用不完美、含噪声的量子比特进行可靠计算的系统。
本文通过深入探讨最早出现、也最具代表性的量子纠错码之一——七量子比特 Steane 码,来解决保护量子信息的根本问题。通过研究这个码,读者将对支撑整个容错量子计算领域的原理获得具体理解。以下章节将引导您了解其复杂的设计和深远的影响。首先,“原理与机制”将揭示该码的内部工作方式,从保护信息的稳定子形式化,到错误检测过程,再到逻辑错误的隐蔽性。随后,“应用与跨学科联系”将探讨如何应用这些原理来构建容错存储器和容错门,从而将抽象理论与计算机科学及工程学的实际挑战联系起来。
想象一下,你想发送一条珍贵而易碎的信息。你不会只是把它写在明信片上,然后祈求好运。你会对它进行编码,也许是用一种特殊的密码书写,然后把它放进一个上锁的盒子里。量子纠错做的也是类似的事情,但这个“盒子”和“密码”是由量子力学本身的结构编织而成的。让我们撬开这个盒子,看看7量子比特 Steane 码是如何施展其魔法的。
我们这个码的核心是一群被称为稳定子群的守护者。可以把它们想象成一个秘密社团,其唯一目的就是定义和保护量子世界中一个非常特殊的子空间——编码空间(codespace)。任何属于这个编码空间、作为其合法成员的量子态,即码字(codeword),在每一个守护者的作用下都完全保持不变。如果一个态是 ,一个稳定子是 ,那么 。这个态是其所有守护者的“+1 本征态”。
对于7量子比特 Steane 码,这个“社团”有六个基本生成元,整个群都可以由它们生成。它们不是随机的算符,而是由基础的泡利算符(、 和 )精心选择的张量积。值得注意的是,它们分为两个截然不同的族群:
X 型稳定子:这些纯粹由泡利 算符和单位算符构成。
Z 型稳定子:相应地,这些由泡利 算符和单位算符构成。
这种优美的权力分离并非偶然。这是一个 Calderbank-Shor-Steane (CSS) 码的标志,这种强大的构造方法将量子码建立在经典纠错码坚实的肩膀上。这些稳定子作用于哪些量子比特的二元模式,与几十年来从计算机存储器到深空探测器等各种应用中使用的经典码直接相关。我们编码空间中的态,就是那些满足契约的态:它们在这六个操作下都保持不变。
现在,我们珍贵的逻辑量子比特正愉快地生活在编码空间中。但宇宙是个充满噪声的地方。一个杂散的磁场或一个不完美的激光脉冲可能会干扰其中一个物理量子比特,施加一个错误算符,我们称之为 。我们的态 现在被破坏为 。它不再是那个受保护俱乐部的成员了。
我们如何发现这一点呢?我们去问守护者。
我们测量每一个稳定子 。对于一个被破坏的态,稳定子可能不会返回令人安心的“+1”本征值。其结果取决于一个简单的规则:
我们将这些结果收集成一个比特串,称为错误诊断子(error syndrome),通常通过将 (无警报)和 (有警报!)来映射。因为我们有两族稳定子,所以我们会得到两个诊断子:
让我们用一个假设的关联错误,比如 ,来看看这个过程。泡利 算符就是 ,所以这个错误在量子比特1上有一个 部分,在量子比特1和2上各有一个 部分。稳定子 与 的 部分反对易,所以它的符号会翻转,给出一个为1的诊断子比特。稳定子 与 的 部分反对易,也产生一个1。稳定子 与 反对易,产生另一个1。所有其他生成元都对易。最终的6比特诊断子是一个独特的指纹 ,它向我们低语着扰动的性质。
我们有了诊断子——一个指纹。现在是侦探工作的时间了。我们必须推断出发生了什么错误并将其逆转。纠错的基本假设是错误是局域且稀有的。单个量子比特翻转的概率远大于两个同时翻转的概率,而后者又远大于三个的概率。
所以,我们选择概率最大的情况。对于任何给定的诊断子,我们假设能够产生它的最小权重错误就是实际发生的那个。Steane 码的设计非常巧妙,使得每一种可能的单量子比特错误()都能生成一个独特的、非零的诊断子。我们的恢复程序就是一个查找表:如果你看到诊断子 S,它是由错误 E_min 引起的,那么就再次应用 E_min 来撤销它(因为 )。
这个方法对单量子比特错误非常有效。但如果我们的假设是错的,会发生什么呢?
大自然并非总是如此仁慈。如果发生了一个更高权重的错误,一个我们的码没有足够能力纠正的错误怎么办?让我们想象一个宇宙射线同时击中了两个量子比特,导致了错误 。我们测量稳定子并得到一个诊断子。我们的码,被设计用来纠正单量子比特错误,查阅了它的查找表。它发现这个特定的诊断子是由量子比特3上的单个 错误产生的。
系统遵循其程序,通过应用恢复算符 来“纠正”错误。
但真正的错误是 。现在施加在我们原始状态上的总操作是残留错误 。我们的目标是应用单位算符来修复状态,但我们却把它弄得更糟了!我们将一个权重为2的物理错误转变成了一个权重为3的物理错误。
这不仅仅是任何错误。正如我们将看到的,我们刚刚无意中对我们试图保护的信息本身执行了一个操作。这是一个逻辑错误。我们的纠错尝试失败了,而且是以一种特别隐蔽的方式失败的。
这引出了一个深刻而微妙的观点。一个逻辑操作到底是什么?一个逻辑 并不是一个单一、唯一的物理算符。它是一整类算符,一个陪集。 “裸”逻辑 是 ,但你可以将它乘以任何稳定子,得到一个新的物理算符,它在编码空间上执行完全相同的逻辑操作。
这被称为码的简并性。逻辑单位算符不仅仅是真正的单位算符,它还包括整个稳定子群。一个逻辑 也不仅仅是一个算符,而是由它们组成的整个族群。危险在于,这个族群中的一些成员可能具有出人意料的低权重。对于 Steane 码,可以找到7个不同的、权重仅为3的物理算符,它们都充当逻辑 。我们之前制造的残留错误 就是其中之一。
更糟糕的是,有些错误甚至不需要我们的帮助就能变成逻辑错误。考虑一个像 这样的关联错误。如果你费心检查,你会发现这个算符与所有六个稳定子生成元都对易!它的诊断子是 。我们的纠错系统看到这个平凡诊断子,便得出结论:“一切正常!” 它什么也不做。但是 并不是单位算符;事实上,它等价于一个逻辑 。这个错误完全未被察觉地穿过了我们的防御系统。它是一个“不可见”的错误,同时也是一个逻辑错误。这凸显了码对于特定关联噪声模式的脆弱性,这是构建全尺寸量子计算机的核心挑战。
同样,每个错误 都只是一个错误陪集 的一个成员。像 这样的错误,在物理上与,比如说, 是不可区分的,后者的权重更高。纠正陪集中最小权重错误的策略是一场赌博——一场胜算很高的赌博,但终究是一场赌博——赌的是大自然偏爱低权重错误。
这个保护方案在根本上是如何运作的?秘密在于纠缠。逻辑信息并非存储在任何单一的物理量子比特中。它以非局域的方式存储在所有七个量子比特之间错综复杂的关联模式中。
如果你去测量一个处于逻辑态 的系统的第一个量子比特,你会得到一个完全随机的结果:50%的概率是0,50%的概率是1。信息不在那里。它隐藏在整体之中。事实上,一个量子比特与其他六个量子比特之间的量子互信息是2比特。这对于单个量子比特与另一系统相互作用而言是可能的最大值,标志着极高的纠缠度。逻辑量子比特“存在”于物理量子比特之间的连接网络中。
正是这种非局域编码提供了保护。一个小的局域错误,比如在一个量子比特上一个微小非预期的旋转 ,不能立即破坏逻辑信息。如果你计算逻辑 算符期望值的变化,你会发现在 的一阶近似下它为零。为什么?因为单量子比特错误 至少与一个 Z 型稳定子(如 )反对易。用量子力学的语言来说,它在任何有效码态中的期望值为零。。该错误与编码空间没有“重叠”,无法对正交的逻辑信息造成直接损害。稳定子充当了缓冲器,确保一个单量子比特错误在一阶近似下对逻辑量子比特来说是“无足轻重”的。一个错误必须足够强大和复杂,才能冲破这些守护者的防线,造成真正的伤害。
现在,我们已经可以说看过了七量子比特 Steane 码这台奇妙机器的内部构造,人们可能会忍不住问:“这一切都是为了什么?”这是一个合理的问题。一项优美的物理学发现是一回事,而一项有用的发现则是另一回事。我相信,答案是相当深刻的。这个码以及其他类似的码,不仅仅是学术上的奇珍。它们代表了我们对计算思维的根本性转变。它们是用于建造真正坚固可靠之物的蓝图,而其原材料本质上却是令人沮丧的脆弱。这就像一本教你如何建造一艘能出海的船的说明书,但用的不是坚实的橡木,而是漏水、开裂的木板。
这个思想的应用向外扩展,将量子信息的抽象世界与工程、计算机科学乃至我们对物理世界本身的理解等实际挑战联系起来。让我们一同探索其中一些联系。
构建量子计算机的首要且最根本的挑战,就是简单地让一个量子态存活下来。一个物理量子比特,如果任其自生自灭,会通过一种称为退相干的过程迅速失去其宝贵的量子信息——就像一声轻柔的低语消散在宇宙的背景噪音中。纠错码的首要任务就是对抗这种衰减。它的目标是完成看似简单的任务,即对一个量子态“什么都不做”,但要完美地做到,并且持续我们所需要的任意长时间。
Steane 码是如何实现这一点的?正如我们所见,它使用了一组“看守”——稳定子生成元——它们不断地在七个物理量子比特上巡逻。它们被设计成在不窥探秘密信息(即逻辑量子比特)本身的情况下发现错误。但如果其中一个看守不可靠怎么办?想象我们构建了一个电路来测量某个稳定子,但其中一根线接到了错误的量子比特上。一个思想实验表明,这样一个简单的构建错误可能是灾难性的。这个有缺陷的电路最终测量了一个不尊重码结构的操作符,其测量结果变得完全随机,使我们有50%的几率得到关于错误的错误信息。我们的看守不仅没能发现窃贼,反而开始通过抛硬币来决定是否拉响警报!
这揭示了一个更深层次的问题:仅仅保护数据是不够的;我们还必须保护保护的过程。这就是容错的核心思想。纠错电路中的错误与数据本身的错误同样危险。
当多个看似独立的故障串通一气时,情况变得更加有趣。假设数据上发生了一个双量子比特错误。码本身或许能检测到这个错误。但如果与此同时,用于测量某个稳定子的设备也有故障,并以一定概率报告错误的结果呢?在这种情况下,系统可能会收到一个指向某个完全不同位置的简单单量子比特错误的诊断子。“纠正”程序根据这个错误信息采取行动,施加了一个操作,该操作与原始错误相结合,产生了一个对稳定子不可见但改变了逻辑状态的残留错误。一个逻辑错误就这样发生了!这种物理数据错误和测量错误相结合以击败码的情景,是一个必须被理解和缓解的关键失效路径。
这些故障的来源不仅仅局限于接线错误或逻辑故障。即使是辅助量子比特(ancilla qubit)——用于执行测量的辅助性量子比特——本身也容易受到噪声的影响。想象一个辅助量子比特,在它 dutifully 与数据量子比特相互作用以获取潜在错误信息之后,但在其信息被读出之前。如果在这个关键时刻,一个随机的去极化错误击中了这个辅助量子比特,它所携带的信息就可能被破坏。一个完全健康的数据态可能突然表现出有错误,或者一个真实的错误可能被掩盖。详细分析表明,辅助量子比特上发生概率为 的物理错误,会导致错误诊断子测量的概率为 。这表明,每一个组件,无论多么辅助,都会对系统的整体脆弱性产生影响。构建容错存储器是一场管理这些级联式失败可能性的博弈。
当然,一个存储器,无论多么完美,都不能构成一台计算机。我们需要执行操作——我们需要门。在这里,Steane 码展示了它的另一个优美特性。对于某一类基本门,实现逻辑操作简单得惊人。要在编码的量子比特上执行逻辑 Hadamard 门,我们不需要复杂的七量子比特相互作用。我们只需简单地将一个单量子比特 Hadamard 门分别施加到七个物理量子比特的每一个上。这被称为横向门。
同样的优雅技巧也适用于其他门。例如,将一个物理相位()门施加到七个量子比特的每一个上,会在编码的量子比特上实现一个逻辑操作——在这种情况下,是一个等效于绕Z轴旋转的逻辑门,但不是简单的 门。这些横向门的存在是一份礼物。这意味着我们可以执行复杂的逻辑操作,而无需在物理量子比特之间引入复杂的相互作用,而这些相互作用本身就是错误的主要来源。
这种结构也为在门操作期间发生的错误提供了非凡的弹性。假设在我们应用横向 Hadamard 门的同时,一个 错误发生在一个单量子比特上。Hadamard 门将 错误转换为 错误,这个 错误随后会被码的 X 错误看守检测到。门和错误之间的相互作用有效地将一种类型的错误转化为码能够很好处理的另一种类型,从而防止了逻辑失败。
当我们转向双量子比特逻辑门,如 CNOT 时,事情变得更加错综复杂。一个横向 CNOT 门可以通过在两个7量子比特块的相应量子比特对之间应用物理 CNOT 门来实现。但现在我们必须考虑一个逻辑量子比特上的错误如何传播到另一个上。想象一个关联错误——比如,“控制”块的物理量子比特上发生了第一个量子比特上的 错误和第二个量子比特上的 错误。当横向 CNOT 应用时,这个错误会传播。一部分留在控制块上,但另一部分被“复制”到目标块上。令人惊讶的是,Steane 码的结构使得控制块上的这个特定关联错误在目标块上只产生一个简单的、单量子比特的错误,这个错误可以立即被纠正!理解这些错误传播规则就像成为一名国际象棋大师,需要预判数步,以看清错误在计算中将如何演变和扩散。
到目前为止,我们谈论错误时,大多把它们当作简单的比特翻转或相位翻转。实际上,许多错误更为微妙;它们是微小的、不希望发生的旋转。如果在我们的综合征测量电路中,每个 CNOT 门都有一个微小的、系统性的相干错误——总是以某种方式将状态旋转一个小角度 ——人们可能会担心这些小错误会累积起来。在许多纠错周期之后,这可能导致逻辑量子比特偏离其预定状态。然而,对 Steane 码的仔细分析揭示了另一个小小的奇迹。由于稳定子的特定对称性以及 CNOT 门的使用方式,来自纠错周期不同部分的这些微小相干错误可以系统地相互抵消。对于某些常见的错误模型,经过一轮完整的纠错后,净逻辑旋转在一阶近似下为零。该码优美的对称性为抵御一种特别隐蔽的噪声提供了隐藏的保护层。
Steane 码是一个宏伟的工具,但它只是一层保护。一台真正的量子计算机需要能够抵御比单层距离为3的码所能提供的要高得多的错误率。前进的道路是一个从经典信息论借鉴而来的强大思想:码级联(concatenation)。
如果一层保护是好的,那么两层应该更好。我们可以将我们的逻辑量子比特(用一个 [[5,1,3]] 码编码),然后,不再使用脆弱的物理量子比特作为其构建块,而是使用本身由 [[7,1,3]] Steane 码编码的量子比特。这就创建了一个两级的级联码。一个逻辑量子比特现在被编码在 个物理量子比特中。要在这个超级码中引起一个逻辑错误,一个错误必须强大到足以击败内部的 Steane 码,并且它必须在五个块中的至少三个上这样做才能击败外部的码。结果表明,要做到这一点,所需的最小物理量子比特错误数为九。这个新码的有效距离为 。这个过程可以重复,原则上可以创造出任意可靠的码,只要底层的物理错误率低于某个“阈值”。这是阈值定理的基石,它给了我们理论上的信心,相信构建大规模、容错的量子计算机并非不可能的梦想。
最后,我们必须面对一个关键的限制。Steane 码的横向门集合并非“通用”的——我们不能用它们来构建任意的量子算法。一个显著的缺失是 T 门,它对于通用量子计算至关重要。但这并非死胡同!解决方案是准备特殊的辅助态,称为“魔术态”,当它们与可用的横向门结合时,能够实现 T 门的功能。
但这些魔术态必须具有极高的保真度。我们不能简单地创建它们然后期望一切顺利。相反,我们必须“蒸馏”它们。我们从许多含噪声的魔术态副本开始,使用一个通常建立在像 Steane 码这样的码之上的协议,来产生数量更少但保真度更高的态。例如,在一种这样的协议中,我们可以使用 Steane 码的稳定子来检查我们含噪声态的完整性。输入量子比特之一上的物理错误将被稳定子检测到,导致测量结果为 而不是 。当这种情况发生时,我们知道那批次被污染了,于是将其丢弃。通过只保留通过所有检查的态,我们蒸馏出更纯净的最终态。
这段旅程——从保护单个量子比特,到执行门,再到通过码级联和魔术态蒸馏进行扩展——表明 Steane 码远不止是一个抽象的构造。它是构建量子计算机这一宏大、跨学科事业中的一个至关重要的组成部分,将量子信息论与构建量子比特的实验物理学以及设计算法的计算机科学联系在一起。它证明了一个思想:通过深入理解我们物理世界的结构,我们可以学会在其上构建全新的计算世界。