Imagine using your computer to add 2 (binary 10) plus 2, expecting the outcome – spoiler alert – to be 4 (binary 100). A single bit flip error to, let’s say, binary 101 changes the output to 5. Other than for memes, that’s not very useful. But this is the effect of decoherence on quantum computation, mischievously flipping random bits from zeroes to ones and from ones to zeroes every few milliseconds or so.
Fortunately, there are two main ways to reform this behavior and make quantum computers useful: 1) build better qubits to prevent errors, and 2) detect and correct these errors. For the former (1) to be the sole solution, the hardware would have to be at least a million times more reliable than it is today. We’re doing our part and building cat qubits, and others are looking into other methods, but we’re still going to need the latter (2).
The foundation of error correction is redundancy. Three people are supposed to vote “1.” When polled, one errantly votes “0.” But two vote “1,” so the errant voter is corrected and all three remember “1” again. The problem is that two errors would cause “0” to win, and the lone “1” voter would change to “0.” We would need five voters remembering “1” so that two votes for “0” get outvoted by three votes for “1.” The more forgetful our voters are – the less stable the qubits – the more we need to ensure the correct vote wins.
QEC is a bit harder than classical error correction because we also have phase flip errors, a prohibition on precisely copying quantum information, and an error-causing detection and correction process. We also can’t poll the qubits directly, as this destroys their quantum information.