Surface codes
There exists a whole class of QEC codes called surface codes. This stems from the fact that stabilizers and logical operators are given by the distribution of qubits and ancillas in a 2D lattice [Kitaev, 1997]. In surface codes, one defines two types of stabilizers, namely $X$-type stabilizers and $Z$-type stabilizers. This makes Surface Codes of great interest because they can detect for any type of error that may arise in the code, instead of only detecting errors of a single type as the quantum repetition code.
We don't know how our stabilizers look like yet, but we do know that in our code we will need data-qubits and ancillas for measuring the stabilizers. We have two types of stabilizers, so it follows that we should divide the ancillas into two categories: $X$-type ancillas (ancillas responsible for measuring the $X$-type stabilizers) and $Z$-type ancillas (ancillas responsible for measuring the $Z$-type stabilizers). In order to make our code scalable (easily increase its size), we decide to order the data-qubits and the ancillas in a lattice.
In order to make these codes easier to implement by experimentalists, we also want our stabilizers to be defined in such a way that, when measuring them, we only make use of nearest-neighbor interactions.
In these codes, a stabilizer is defined by taking an ancilla, checking its type ($X$ or $Z$) and applying those gates to the nearest neighbors of the ancilla within the lattice. The logical operators are given by finding a chain of operators that commutes with all stabilizers.
We will review three of the literature's most used quantum error correction codes, which are able of detecting any single-qubit Pauli error, learn about their advantages and get familiar with the emergence of errors on these codes, so that we know what syndrome should we expect to obtain if we know the shape of an error.
The planar code
Among the surface codes, one of great interest is the planar code. The reason why this code is being used constantly in the field of quantum error correction is because:
-
In this code, ancillas only interact with their nearest neighboring data qubits, and hence it does not require long distance interactions, making it easier to create a planar code experimentally.
-
It is based on a lattice, whose size can be ever-increased easily by following the lattice's patterns in order to increase the distance of the code. For small values of the error probabilities, the rate at which logical errors appear on the code decreases as one increases the distance.
What is the idea of surface codes for error correction?
A
Using two types of stabilizers (X-type and Z-type) allows for detecting any type of error.
B
Using the chip surface for error correction requires less physical qubits than repetition codes and are therefore easier to implement on near-term hardware.
C
Error correction codes make best use of the natural structure of how qubits are aligned on a chip.