什么是“表面代码”?(量子误差校正)


21

我正在研究量子计算和信息。我已经越过“表面代码”这个短语,但是找不到关于它是什么以及它如何工作的简短说明。希望你们能帮助我。

注意:如果您喜欢可以使用一些复杂的数学运算,则我在某种程度上熟悉量子力学。


1
欢迎!需要说明的是:答案是否应该假设您已经对复曲面代码稳定器代码进行了维基百科级别的检查?
agaitaarino

2
我不知道复曲面代码或稳定器代码:| 但我会读到它
伊万诺维奇

1
真好!我认为那应该是一个不错的开始。我建议也许快速浏览一下这些内容,并在这个问题中添加更多细节:您已经认为可以理解的事情以及其他没有太大意义的事情。回答之后,对于您之后的人们来说,这可能是一个非常有用的问答:这些是重要的概念,术语确实有些令人困惑。
agaitaarino '18


4
我不了解简短的内容,但是arxiv.org/abs/1208.0928是我从中开始学习表面代码的地方。
Craig Gidney '18

Answers:


10

表面码是在量子位的2D晶格上定义的一系列量子纠错码。该系列中的每个代码都具有在整体上等效定义的稳定器,但其边界条件彼此不同。

表面代码系列的成员有时也用更具体的名称来描述:复曲面代码是具有周期性边界条件的表面代码,平面代码是在平面上定义的平面代码,等等。有时也使用术语“表面代码”可与“平面代码”互换使用,因为这是表面代码系列最现实的示例。

表面代码目前是一个很大的研究领域,因此,我只为您指出一些不错的切入点(除了上面链接的Wikipedia文章)。

表面代码也可以概括为基数。有关更多信息,请参见此处


表面代码仅适用于拓扑量子计算机吗?
伊万诺维奇

2
表面代码适用于任何量子位。从某种意义上说,使用表面代码可以创建使用非拓扑量子位的拓扑量子计算机。
詹姆斯·伍顿

13

“表面代码”的术语有些变化。它可能是指一整类事物,即不同格上Toric代码的变体,或者可能是指Planar代码,即具有开放边界条件的方格上的特定变体。

复曲面密码

我将总结Toric代码的一些基本属性。想象一下具有周期性边界条件的正方形晶格,即,顶部边缘与底部边缘相连,而左侧边缘与右侧边缘相连。如果用一张纸尝试一下,您会发现您会得到一个甜甜圈形状或圆环形状。在这个格子上,我们在正方形的每个边缘上放置一个量子比特。

enter image description here

稳定剂

接下来,我们定义一堆运算符。对于晶格上的每个正方形(每个边的中间包含4个量子位),我们写 对4个量子位的每 一个进行Pauli- X旋转。标签p表示“小球”,它只是一个索引,因此我们以后可以计算整个小球。在晶格的每个顶点上(包围4个量子位),我们定义

Bp=XXXX,
Xps指的是恒星形状,再次让我们对所有这些术语求和。
As=ZZZZ.
s

我们观察到所有这些术语相互通勤。对于来说是微不足道因为Pauli运算符与自己和I进行通勤。[ A sB p ] =需要更多的注意[As,As]=[Bp,Bp]=0I,机器人应注意,这两个术语共同具有0或2个位点,并且成对的不同Pauli运算符通勤, [ X X Z Z ] = 0[As,Bp]=0[XX,ZZ]=0

代码空间

由于所有这些运算符都是通勤的,因此我们可以定义所有这些运算符的同时本征状态使得 小号一个小号| ψ = | ψ |ψ 这定义了代码的代码空间。我们应该确定它的大小。

s:As|ψ=|ψp:Bp|ψ=|ψ.

对于晶格,存在N 2个量子位,因此希尔伯特空间维数为2 N 2。有N 2个术语A sB p,我们统称为稳定剂。每个都具有± 1的特征值(注意,请注意A 2 s = B 2N×NN22N2N2AsBp±1相等数量的 p =I),并且当我们将它们组合时,每个特征值将Hilbert空间的尺寸减半,即我们认为这唯一地定义了一个州。As2=Bp2=I

但是,现在观察到sAs=pBp=I:每个量子位被包括在两星和两个plaquettes。这意味着之一和B p之一线性地依赖于所有其他变量,并且不会进一步减小希尔伯特空间的大小。换句话说,稳定器关系定义了尺寸为4的希尔伯特空间;该代码可以编码两个量子比特。AsBp

逻辑运算符

我们如何在Toric码中编码量子态?我们需要知道逻辑运算符:Z 1 LX 2 LZ 2 L。所有这四个必须与所有稳定器对换,并且与它们在线性上独立,并且必须生成两个量子位的代数。两个不同逻辑量子位上的算符交换: [ X 1 LX1,LZ1,LX2,LZ2,L 并在每个量子位上对两者进行反换向: { X 1 LZ 1 L } = 0

[X1,L,X2,L]=0[X1,L,Z2,L]=0[Z1,L,Z2,L]=0[Z1,L,X2,L]=0
{X1,L,Z1,L}=0{X2,L,Z2,L}=0

如何标记不同的运算符有两种不同的约定。我将选择我最喜欢的(可能不太受欢迎):

  • ZZ1,L

  • ZX2,LZ2,L

  • X. This is Z2,L.

  • Take a vertical strip of qubits, each of which is in the middle of a horizontal edge. On every qubit, apply X. This is X1,L.

You'll see that the operators that are supposed to anti-commute meet at exactly one site, with an X and a Z.

Ultimately, we define the logical basis states of the code by

|ψx,y:Z1,L|ψx,y=(1)x|ψx,y,Z2,L|ψx,y=(1)y|ψx,y

The distance of the code is N because the shortest sequence of single-qubit operators that converts between two logical states constitutes N Pauli operators on a loop around the torus.

Error Detection and Correction

Once you have a code, with some qubits stored in the codespace, you want to keep it there. To achieve this, we need error correction. Each round of error correction comprises measuring the value of every stabilizer. Each As and Bp gives an answer ±1. This is your error syndrome. It is then up to you, depending on what error model you think applies to your system, to determine where you think the errors have occurred, and try to fix them. There's a lot of work going on into fast decoders that can perform this classical computation as efficiently as possible.

One crucial feature of the Toric code is that you do not have to identify exactly where an error has occurred to perfectly correct it; the code is degenerate. The only relevant thing is that you get rid of the errors without implementing a logical gate. For example, the green line in the figure is one of the basic errors in the system, called an anyone pair. If the sequence of X rotations depicted had been enacted, than the stabilizers on the two squares with the green blobs in would have given a 1 answer, while all others give +1. To correct for this, we could apply X along exactly the path where the errors happened, although our error syndrome certainly doesn't give us the path information. There are many other paths of X errors that would give the same syndrome. We can implement any of these, and there are two options. Either, the overall sequence of X rotations forms a trivial path, or one that loops around the torus in at least on direction. If it's a trivial path (i.e. one that forms a closed path that does not loop around the torus), then we have successfully corrected the error. This is at the heart of the topological nature of the code; many paths are equivalent, and it all comes down to whether or not these loops around the torus have been completed.

Error Correcting Threshold

While the distance of the code is N, it is not the case that every combination of N errors causes a logical error. Indeed, the vast majority of N errors can be corrected. It is only once the errors become of much higher density that error correction fails. There are interesting proofs that make connections to phase transitions or the random bond Ising model, that are very good at pinning down when that is. For example, if you take an error model where X and Z errors occur independently at random on each qubit with probability p, the threshold is about p=0.11, i.e. 11%. It also has a finite fault-tolerant threshold (where you allow for faulty measurements and corrections with some per-qubit error rate)

The Planar Code

Details are largerly identical to the Toric code, except that the boundary conditions of the lattice are open instead of periodic. This mens that, at the edges, the stabilizers get defined slightly differently. In this case, there is only one logical qubit in the code instead of two.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.