量子纠错: Shor Code
量子纠错算法是量子计算领域的核心技术之一,旨在应对量子比特(qubits)易受环境干扰导致信息丢失或出错的问题。由于量子系统的特性, 如叠加态和量子纠缠, 使得量子信息极其脆弱, 任何微小的噪声或相位偏移都可能破坏计算的准确性。量子纠错通过设计特殊的编码方案, 将一个量子比特的信息分布到多个物理量子比特上, 从而检测和纠正错误, 而不会破坏量子态。例如, 经典的量子纠错码包括肖尔码 (Shor Code), 斯坦恩码 (Steane Code) 和表面码 (Surface Code). 这些算法能够识别和修复比特翻转 (bit-flip) 错误、相位翻转 (phase-flip) 错误或两者同时发生的错误, 为构建可靠的大规模量子计算机提供了坚实的基础。这篇文章将介绍Shor Code的架构.
Bit Flip
bit flip error (比特翻转错误) 是最常见的一种错误类型,它指的是一个量子比特的状态意外从
Correction Circuit
- 首先通过cx将一个逻辑比特用三个物理比特表示 (cx为control-x, 效果为如果控制位的qubit的值为1, 则翻转对应的qubit, 在下图中表现为如果q0为
, 对应翻转q1和q2的值)
- 假设三个逻辑比特中的一个出现了比特翻转错误
- 通过cx检查两两相邻的qubit的奇偶性
- 这样根据q3,q4的值,就可以推导出比特翻转发生的位置:
q3q4 | Err |
---|---|
00 | N/A |
10 | q0 |
11 | q1 |
01 | q2 |
在上面的案例里, q3q4 measure的结果是11, 也就是说q1出现了比特翻转.
- 根据对应的编码对指定的位置进行反向翻转, 在上面的案例里就是在q1上应用X门
Accuracy Calculate
因为这个最基本的电路只有三个比特, 所以它只能容忍一个比特的翻转错误, 超过一个比特就无法正确的纠错了. 假设一个物理比特的出现翻转错误的概率是p, 也就是说这个电路出现翻转错误的比特的数量~
在p < 0.5时, 这个Logical Bit能给我们带来更低的错误率.
Test
实验一下这个电路能否按照设计的工作, 测试通过在预定位置手动添加X门的方式来模拟bit flip error.
可以看见, 在模拟测试下, q0, q1, q2三个比特中的任意一个比特发生bit flip error并不会影响当前逻辑比特的状态.
Phase Flip
phase flip error相位反转错误是另一种常见的错误类型, 可以表示为一个量子比特意外被添加了一个Z门 (
这种错误用上面的的比特翻转的检测电路无法检测到, 但稍加修改就可以在phase flip error上应用.
Correction Circuit
与bit flip correction circuit一样, 用三个物理比特表示一个逻辑比特, 并且为每个比特添加一个Hadamard门. 用Hadamard门编码的目的是如果phase flip发生在某一个比特上, 它就会把
翻转为 , 最后再通过Hadamard门解码就会重新变回 和 的状态. 这样就实现了把phase flip转化为了bit flip使用cx检测相邻qubit是否相等, 与bit flip的电路不同的是, 这里对检测的qubit添加了Hadamard门并且翻转了cx的方向.
我们可以用下面这个式子来理解对于一个比特的phase flip error检测是如何实现的
可以看见, 通过cx门, 被检测位置的
- 与bit flip circuit类似, 在measure结果对应的位置的比特上应用修复的Z门
- 最后把用Hadamard门编码的物理比特解码为原本的状态
Test
实验电路是否正常工作, 因为使用了Hadamard门编码解码, 这样在中间发生的phase flip将会被转换为bit flip并可以通过measure检测.
如图所示, 三个物理比特上如果存在一个phase flip error是可以被纠正的
Remain Problem
到目前为止, bit flip error和phase flip error都有对应的电路解决了, 但共有的问题就在于任意一种电路都没法处理另一种类型的错误. 而下面就会介绍完备的解决方案.
Shor Code
如果比特翻转和相位翻转错误同时发生在一个逻辑比特上, 解决方案自然是吧两种纠错电路嵌套起来, 具体来说就是把phase flip correction circuit里的三个物理比特分别用三个bit flip correction circuit表示, 当然反过来也可以.
这样就得到了可以同时处理bit flip和phase flip的Shor Code.
Correction Circuit
Accuracy Calculate
Shor Code的准确率和之前两个纠错电路一样, 可以纠正任何单个比特的翻转. 所以它的错误率为
可以看到, 当