纠错与噪声

表面码(surface code)

真实的量子比特很嘈杂:它们会漂移、翻转,频率高到根本无法直接撑完一段长计算。解决办法是把一个“好”量子比特所携带的信息,摊开存放到许多物理量子比特上,这样错误在累积成灾之前就能被发现并撤销。表面码是目前最实用的实现方式。你可以想象量子比特铺在一张平整的二维网格上,像棋盘上的一颗颗珠子。一部分珠子负责承载数据;其余的是“辅助”量子比特,机器不断用简单的奇偶校验去“戳”它们,只问一句:“你和你紧挨着的邻居们意见一致吗?”关键在于,每次校验只牵涉到紧贴在一起的少数几个相邻量子比特,而这种局部、肩并肩的连线方式,恰恰是真实硬件真正造得出来的。

这些奇偶校验绝不会泄露数据本身(那会让它坍缩),但它们能揭示出错误落在何处的“指纹”。根据这一组“意见不合”的模式,一套经典的解码算法会推断出最可能出了什么错,并加以纠正。它最大的吸引力在于容错能力:即便每一次物理操作大约每一百次就失败一次(一个接近 1% 的阈值),表面码依然能正常工作,而这差不多正是优秀硬件开始达到的水平。只要把错误率压在这个阈值之下,你就能通过把网格做得更大,把逻辑错误率压到你想要的任意之低。

代价在于成本。“把网格做得更大”意味着要用大量物理量子比特去保护一个可靠的“逻辑”量子比特,往往是数百到数千个,外加在实时运行解码器的快速经典计算机。正是这份开销,成为大规模容错机器至今尚不存在的主要原因,也是我们仍停留在小型、嘈杂设备这一 NISQ 时代的原因。表面码是通往纠错计算的领先路线图,而不是你今天就能一键打开的功能。

约 1% 这个数字是一个阈值,而不是保证:只有当你的硬件保持在它之下时才有帮助,而且每个逻辑量子比特所需的物理量子比特开销依然很大。

又称
toric code (close relative)