Quantum Error Correction - 1
接下来一段时间,我将会持续更新《Quantum Computation and Quantum Information》书中的QEC部分,也就是第10章。内容会涵盖少量Chap1、2的基础知识,不过问题不大,很容易理解的。
10.1 ~Introduction
当我们传输一个量子比特的时候,这个比特可能会发生错误因而反转,如0 → 1。假设翻转概率为p,那么有1-p的概率量子比特成功传输,剩下p的概率产生错误。
在经典计算机中单位比特也可能发生错误,不过基本上每 10^17 次操作才可能发生一次错误,因而非常可靠。所以假如我们能够让量子比特在进行逻辑操作的时候发生错误的概率降低到一个阈值,将大大提高量子计算机的性能。
核心的一个思路就是如果我们想保护一个信息不被噪声干扰,我们添加一些冗余信息,这样一来即使在传输过程中出现了噪声,我们将会有足够多的冗余信息来恢复原始数据。
- Example
一个很简单保护单比特信息传输的方法就是用三个自身的“复制”来传输
单比特0 → 000 (逻辑0)
单比特1 → 111 (逻辑1)
这样一来同时传递3个量子比特作为一个逻辑比特的话,我们可以采取majority voting方式,也就是对于001的输出,考虑到p翻转发生错误的概率不是很大,我们把这个输出当作000处理。因此可以计算此时的正确概率
可以发现当 p<1/2 时, 因此信息传输发生错误的概率得到了降低
上述例子描述了一个repetition code的编码,就像我们和别人说话的时候怕别人听不清,反复重复一个道理。
10.1.1 ~ The three qubit flip code
在量子编码中,有几个和经典信息编码不同的地方。
- No cloning: 量子比特是无法复制滴
- Errors are continuous: 某一个量子比特可能会不停的发生不同的错误,想要确定具体什么错误发生并去纠正它,会需要非常高的(无穷高)精度,因此要无数资源
- Measurement destroys quantum information:传统error-correction中我们直接观察通道的输出,然后确定采取什么解码方式。然而量子机器中观测将摧毁量子状态,破坏原始信息。
好在对于这些问题都有处理方法
假设我们有一个bit flip channel,有p的概率翻转量子比特,1-p的概率保持原有状态。
那么初始状态 变成 ,此处 X 通常是泡利sigma x 操作,或者 bit flip operator。接下来我们进一步解释bit flip code
假设我们有初始比特状态:a| 0 > + b | 1 > 在三个量子比特中写作 a|000>+b|111>。一个更简便的写法是
编码电路实现见右图
- Improving error analysis
- 对于没有使用error-correcting编码的情况
- 对于使用的error-correcting编码的情况
我们定义保真度fidelity 为F
那么我们代入F的表达式中可以发现,没有使用error-correcting编码的时候,,然而在使用了error-correcting编码后 发现保真度的最小值得到了提高
10.1.2 Three qubit phase flip code
bit flip code虽然有趣,但其实相对于传统error-correcting而言并不是很大的创新,并且存在很多问题。比如量子中还存在phase flip操作符Z,Z操作符实现a|0>+b|1> → a|0>-b|1>,传统编码无法实现。
在量子中有一个很容易的办法就是把phase flip转换成 bit flip
这样Z操作符实际对上述两个进行操作。
因而
更具体地说,phase flip通道其实可以分为两步
- encode in three qubits (和bit flip一样)
- apply Hadamard gate to each qubit
Error-detection 和之前类似,不过
syndrome measurement也相应的类似变化
记得最后还要recover还原数据,比如我们检测发现第一个量子比特从|+>→|- > 那么我们通过 对第一个量子比特进行还原。其他也类似。
从某种意义上来说,Z和X两种操作符酉等价
此处有几个Exercise
后续可以练习 我暂时还没找到答案所以先不放了
10.2 ~The Shor code
存在一种很simple的编码可以保护单比特的错误,即Shor code
这种编码包含3比特phase flip和bit flip编码。
我们首先把量子比特用phase flip编码:
随后我们用3比特bit flip对这个进行编码
编码电路实现见右图
可以发现电路左边部分是phase flip
电路右边部分是bit flip
两块组合在一起就达到了想要的效果
这种分层的实现叫concatenation
Shor编码可以保护任何量子比特上的phase flip或bit flip!
- 举个例子-bit flip error
不妨假设第一个量子比特发生bit flip error
对于bit flip编码,我们测量比较前两个比特,发现他们不同。我们就得出有一个bit flip error发生在第一或第二个比特上了。接下来我们测量 发现他们相同,因此肯定不是第二个比特发生翻转。我们得到第一个比特翻转的结论。于是我们为了纠正错误,对第一个比特翻转即可。类似的我们可以处理任何bit flip error
- 举个例子-phase flip error
不妨假设第一个量子比特发生phase flip error
这样的导致了第一个block内的符号发生变化 反之亦然。接下来syndrome measurement其实比较的是每个block内部的符号是否一样,类似的找到是哪个比特发生了翻转,然后纠正即可。
- 如果在第一个量子比特上同时发生bit和phase flip,也就是作用与这个量子比特上。那么其实bit和phase flip会被分别检测到并correct。因此Shor编码其实还允许bit 和 phase结合在单比特上的错误
当然 Shor编码不仅仅protect qubit from bit/phase flip
还可以保护单一量子比特上的微小错误
为了简化分析,我们假设arbitrary type error的noise发生在第一个量子比特上
我们取第八章中描述的quantum operation 。我们把这个操作扩展到operator-sum,用 表示。
假设,在noise之后变成 。想要分析error- correction的效果,就取single term 。
可以拆解为:
那么量子状态可以被写作四种不同状态的组合
测量syndrome的时候量子状态将坍缩到上述四种之一,最后recovery就是根据错误去修正即可。
其实有一个更普遍和基础的结论:
如果error correction可以修正基础error: bit flip、phase flip 和 combined bit-phase flip。那么就可以修正更多(连续)种类的错误!
这里有两个exercise
还没找到答案 先暂时不放 后续会更新单独的exercise 练习答案