# Why does the surface (quantum error correction) code have such a high threshold for errors?

Is there an intuitive explanation why the surface code fares so much better than older quantum error correction codes in terms of its high error threshold, with thresholds of up to a few percent rather than some ppm? If so, what is it?

I am particularly interested in having it clarified if such a comparison is a fair (apples to apples) comparison. I understand that the results for older quantum error correction are usually analytic results whilst those for surface codes tend to be numeric. Could it be that the analytic solutions indeed take into account the worst possible (coherent) errors whilst numerical solutions perhaps do not capture the worst possible errors because they can only explore a subset of all possible errors?

• I think there is no need for separate tags on quantum error correction and error correction. However, it might be a good idea to rename error-correction to quantum-error-correction. Hmm, I think a bit more and perhaps raise this on meta Apr 1 '18 at 12:29
• @Discretelizard This question is about quantum error correction. The only reason I can see for a (error-correction) tag is if someone where to (legitimately!) bring up classical error correction. Apr 1 '18 at 12:31
• Well, you see, the tag error-correction is about quantum error correction (see description)! So, what we should do is put the tag at error-correction and rename the tag. I'll ask for a rename on meta Apr 1 '18 at 12:32
• @Discretelizard Oops, sorry, I had tried to use common sense on the tags instead of actually reading the description. My bad. Apr 1 '18 at 12:33

Thresholds are often calculated by treating $X$ and $Z$ errors as occurring with the same probability. Any code that corrects one more effectively than the other will then be at a disadvantage: whichever it corrects least effectively will be the bottleneck that determines the threshold. The surface code avoids this by treating these errors in an identical way.

For fault-tolerance thresholds, the fidelity of stabilizer measurements is also taken into account. This includes errors that occur in the required entangling gates. Stabilizers that act on more qubits, and so require more entangling gates, will have less reliable measurements. But the surface code has essentially all stabilizers the same size: they all act on four qubits. And that size is relatively low. They are also quasilocal, so there is no error overhead in shunting qubits around to be measured.

The combination of these effects means that it competes well in terms of threshold, and should be moderately easy to implement.

It's true that analytic results are always worse, because they aim to establish lower bounds rather than exact values. They came more from the era when it was important to determine whether fault-tolerant quantum computation was actually possible, even in principle. Just finding a non-zero threshold was a big deal. Now we focus more on things that can be done on real devices, and how they might perform, and seek thresholds as high as we can for practical reasons.

The surface code nevertheless wins in a typical apples-to-apples comparison of numerically calculated thresholds (I'll update with a reference when I find one). But it should ne noted that the choice of noise model can be used to change the goal posts in the favour of your favourite code.

The surface error correction code always uses eigenstates of just a few stabilizers. By changing operators rather than states, it never needs to apply any state correction to the quantum states (but only to the classically controlled operators or measurements). Hence it is very simple, only repeatedly measuring syndromes. Since the syndromes do not even need actual computations (one only ever measures $\hat{Z}$ and $\hat{X}$), there is very little opportunity for errors to accumulate. Hence the error threshold is high.

I cannot answer if published error thresholds are an apple-to-apple comparison to those published for more traditional quantum error correction schemes.

• All of this is also true of any CSS code and, apart from the remarks about only measuring products of X or products of Z, of any stabiliser code. Apr 1 '18 at 13:47