• No results found

2.3

The Planar Code

The toric code is an extremely simple and elegant model of a topological quantum error correcting code. Its main drawback is that its geometry is difficult to implement experimentally, so a planar variant of the code, usually known as the surface code, has been proposed [Bravyi and Kitaev, 1998;Freedman and Meyer, 1998].

Similarly to the toric code, in a planar surface code qubits are identified with the edges of an L× L lattice but in this case boundaries are present, as shown in figure2.6. The surface code is a stabilizer code with two types of stabilizer generators S = hAV, BPi defined on the lattice as in equation (2.1). Note that the two different

types of boundary (rough and smooth) on the lattice lead to deformations of plaquette and vertex operators at the boundary, respectively. See figure 2.6 for examples of deformed stabilizers at a boundary.

The surface code with open boundaries as defined in this thesis supports one logical qubit1. The logical operators are once again defined by homologically non- trivial string-like X (or Z) operators with no boundary. To satisfy this requirement, they must begin and end at the boundaries of the lattice defining the code. The logical ¯X operators connect the two opposing smooth edges, whereas the logical ¯Z operators connect the two rough edges. An example of each is shown in figure 2.6.

Once again we restrict the discussion to X errors, since results for Z-type errors will be analogous. A single X-type error is detected by two adjacent plaquettes, except when it occurs on a smooth boundary, see figure 2.6. Similarly, a contiguous chain of X errors ending at a smooth boundary gives rise to only one nontrivial syndrome, see figure 2.6

As we have outlined in this section, the differences between the toric and surface code models are not substantial. The recovery procedure is conceptually identical, and many decoders developed for the toric code can be readily adapted for the surface code.

In the next section we shall introduce the qudit surface code, that is, the surface code constructed using d-level quantum systems. As we shall see, many of the key ideas carry over.

1A variant of the planar code allows an arbitrary number of qudits to be encoded in it, as pairs

of holes (a hole is a location at which a stabilizer generator is not measured). This is a useful model when considering computation using the surface code [Bravyi and Raussendorf,2007].

2.3. The Planar Code

¯

X

1

¯

Z

1 (a) (b) (c) (d) (e)

Figure 2.6: The surface code. As illustrated in this figure the top and bottom boundaries are smooth, while the left and right boundaries are rough. (a) An example of a deformed edge vertex operator. (b) An example of a deformed edge plaquette operator. (c) A string of X errors connecting to a boundary and hence giving rise to only one nontrivial syndrome. (d) An example of a logical X operator. (e) An example of a logical Z operator. The two logical operators have only one

qubit in common and as a result they anticommute.

2.3.1

The Qudit Surface Code

The surface code can naturally be generalised to higher dimensional systems. Indeed, this generalisation is already present in Kitaev’s seminal paper [Kitaev,2003]. Despite the fact that we have introduced the surface code, for completeness we shall also provide an overview of the qudit planar code. For further details of the qudit construction see [Bullock and Brennen, 2007]. Recall that an introduction to the basic idea of qudit error correcting codes was given in Section 1.5.

We now identify d-level quantum systems, or qudits, with the edges of the same lattice introduced in Section 2.3. The qudit surface code is a stabilizer code with

2.3. The Planar Code

two types of stabilizer generators S = hAV, BPi defined on the lattice as

AV = Xe1 ⊗ X −1 e2 ⊗ X −1 e3 ⊗ Xe4 ∀ e ∈ V, (2.3) BP = Ze−11 ⊗ Z −1 e2 ⊗ Ze3 ⊗ Ze4 ∀ e ∈ P, (2.4)

where e ∈ V are the edges surrounding a vertex v of the lattice and e ∈ P are the edges contained in a plaquette P , see figure 2.7. Once again AV are known as

the vertex operators and BP as the plaquette operators. An example of each is

shown in figure 2.8(a) and (b). As before, the rough and smooth boundaries lead to deformations of plaquette and vertex operators, respectively. See figure 2.8(c) for an example of a deformed stabilizer at a boundary.

X e1 e2 e3 e4 e1 e2 e3 e4 X−1 X Z−1 Z Z Z−1 X−1

Figure 2.7: Vertex operator (left) and plaquette operator (right) of the qudit surface code.

The qudit surface code supports one logical qudit. An example of each type of logical operator is shown in figure 2.8(d) and (e). These operators, together with the stabilizer group, generate the group of logical qudit Pauli operators which map the code space to itself. As in the qubit case, the distance of this code is L.

Physical errors are detected by measuring the stabilizers, with X-type1 and Z-type errors detected independently by the plaquette and the vertex operators, respectively, allowing us once again to restrict ourselves to a discussion of X-type errors only. A single X-type error is detected by two adjacent plaquettes, except when it occurs on a smooth boundary, see figure2.9(a). A string of X-type errors is detected by plaquettes contiguously along the path of the string, as shown by the example in figure 2.9(b). This is in contrast to the qubit (d = 2) case where only

1This is shorthand for errors of the type Xj for j

∈ Zd\{0}, and similarly for errors we refer to

2.3. The Planar Code (a) (b) (c) (d) (e)

¯

X

j

¯

Z

k rough edge smooth edge 1 −1 1 k k k k 1 −1 −1 −1 j j j j j k Bp As −1 −1 1 1

Figure 2.8: An example of a distance 5 qudit planar surface code. Qudits are shown as black dots, arranged on the edges of a lattice with two types of boundary: rough and smooth. For clarity, when an arbitrary Xj or ZkPauli operator acts on a physical

qudit, we only include the exponents j and k on the edges of the figure. We use red for Xj errors and vertex operators, and blue for Zk errors or plaquette operators. (a) and (b) An example of a single plaquette and vertex operator, respectively. (c) An example of a deformed rough edge plaquette operator (3-body operator). Note that the vertex operators are deformed at smooth edges. (d) and (e) An example of a pair of ω-commuting logical operators.

the end-points of the string give rise to non-trivial plaquette measurements. This observation suggests that in higher d the syndrome reveals more information about the path of the errors on the lattice. Indeed, it is this information that, if exploited correctly by the decoder, can lead to improved error correction performance, as shown by their higher threshold values, as d increases.

As explained in Section 2.2, generally speaking the aim of the decoder is to use the information given by the syndrome to return a correction operator that restores the code to its original state. In the next section we shall discuss the decoding problem and introduce the concept of optimal decoding. This in turn will motivate the requirement for alternative decoding strategies. One decoding algorithm is studied in detail in Chapter 4.

2.4. The Decoding Problem