量子计算机|到底什么是量子计算( 三 )


退相干在自然界中是广泛存在的 。 与此同时 , 有一些物理机制可以用来抑制退相干 。 当环境对系统的影响具有某些对称性的时候 , 可能存在一个不发生退相干的量子态子空间 , 因此存储在子空间内的量子信息可以不受退相干的影响[11-13] 。 如果环境引起的噪声在时间上有关联 , 动态解耦等方法可以用来抑制退相干的发生[14 , 15] 。 这些方法可以在很大程度上改进物理系统在量子计算中的性能 , 但计算错误的发生仍然是无法避免的 。 因此 , 需要在算法的层面对计算错误进行处理:虽然在计算过程中还是会发生错误 , 但可以避免错误对最终计算结果的影响 。
 退相干导致的两种计算错误·
我们可以将量子计算机中的错误分为两种:比特错误和相位错误 。 比特错误导致量子比特0 和1 的取值发生改变 , 相位错误导致叠加态的相位发生变化 。 对于一个处于叠加态a |0 + b|1 的量子比特 , 比特错误导致状态改变为a |1 + b|0, 相位错误导致状态改变为a |0 - b|1。 在经典计算机中也存在比特错误 , 但相位错误是量子计算机独有的 。 量子计算机中任何的错误都可以分解为两种错误的 。
04
量子纠错码与容错量子计算
量子纠错码可以用来解决退相干等硬件的不完美导致的计算错误问题 。 在错误的分布满足某些条件的情况下 , 我们可以把最终计算结果出错的概率降得任意低 , 这被称作容错量子计算 。 当然 , 量子纠错是有代价的 。 为了降低最终出错率 , 需要使用很多的量子比特来进行编码 。 进行容错量子计算的首要条件 , 也就是错误率低于容错阈值(亚阈值)的初始化、量子门以及读取等操作已经能够在实验中被演示 。 目前看来 , 在错误率低于阈值的条件下 , 巨大的量子比特数量是最终实现容错量子计算的主要障碍 。
4.1 量子纠错码
量子纠错码是经典纠错码在量子信息的推广 。 首先来了解什么是经典纠错码 。 最简单的纠错码是重复码(repetition code) , 也就是将要保护的信息重复存储(图2) 。 在日常生活中 , 我们会经常使用这种保护信息的方式 , 例如将重要的文件复制一份 。 事实上 , 这同样也是经典信息比量子信息更稳定的原因之一 。 在机械硬盘上 , 我们通过控制铁磁材料的极化方向来存储信息 。 其中少数粒子极化方向的错误不会影响对整体信息的读取 。 纠错码也是类似的 。 如果只有少数比特的信息发生了错误 , 我们可以将出错的比特找出来 , 进而实现对信息的保护 。 找出错误的方式有两种:一种是多数决定法 , 也就是数一数哪一种比特(0 或1)比较多 , 多的那一种应该代表了正确的信息;另一种是宇称查验 , 也就是查验相邻比特的取值是否相同 , 不同则意味着其中一个出错了 。 对于经典纠错来说 , 两种纠错方式都有效 。
量子计算机|到底什么是量子计算
本文图片

图2 经典纠错码和经典信息存储
和经典纠错相比 , 量子纠错不仅需要处理比特错误 , 还需要处理相位错误 。 1995 年 , 肖尔提出了第一个量子纠错码——肖尔(9 量子比特)码 , 通过两次利用重复码来处理两种错误[16] 。 基于相同的思想 , 通过结合两个经典纠错码分别用来处理比特错误和相位错误 , 考得本克(R. Calderbank)、肖尔和斯特恩(A. Steane)提出了一系列的量子纠错码 , 并以他们三个人的名字命名为CSS码[17 , 18] 。 当然 , 有的量子纠错码是以其他方式构造的 。
由于对量子比特的读取会破坏量子叠加态 , 量子信息不能以读取信息再按照多数决定的方式纠错 。 在量子纠错中 , 纠错的方式是宇称查验 , 也就是通过查验量子比特之间的关系查找错误 。 量子纠错中的宇称查验是对一组物理可观测量(厄米算符)的测量 , 一般来说是一组相互对易的泡利算符 。 不同的量子纠错码对应了不同的一组算符 。 任何一个量子比特上的错误都会反映为算符测量结果的改变 , 也就是说能够在测量中被观测到 。
宇称查验会牺牲一些量子比特的自由度 。 对于n 个量子比特的纠错码 , 如果宇称查验涉及s 个独立的泡利算符 , 那么我们可以存储k ≤ n - s 个被保护的量子比特信息 。 这是由于这些泡利算符正确值对应的量子态空间的维度是2n-s , 因此在这个子空间内可以存储最多n-s 个量子比特信息 。 编码用到的n 个量子比特被称为物理量子比特 , 被保护的k 个量子比特被称为逻辑量子比特 。 在量子纠错中 , 每一个物理量子比特都对应了一个具体的两量子态物理系统 , 而一个逻辑量子比特则涉及到多个甚至所有物理量子比特 , 是最终用来存储信息和计算的量子比特 。
 退相干导致的两种计算错误·
我们用X和Z表示两个泡利算符 , 每个泡利算符有+1 和-1 两个本征值 。 比特错误会改变Z的值 , 相位错误会改变X的值 。 图中每一个圆对应了一个量子比特 。 对于斯特恩码 , 需要进行6 种宇称查验 , 分别是每一个四边形上4 个量子比特泡利算符的乘积 , ZZZZ和XXXX 。 经过观察可以发现 , 任何一个比特错误或相位错误都会导致特定一组宇称查验结果(即XXXX和ZZZZ的取值) 的改变 。 因此 , 这些错误可以被发现并且纠正 。


推荐阅读