Quantum error correction is the practice of detecting and correcting errors in process of quantum computation. In the quantum computers, the information is stored in quantum bits (typically called qubits) which are typically very unstable, which means that the information can be easily lost or corrupted. To combat this problem, a variety of methods, called quantum error correction codes, have been introduced to store the information in a safer manner, and detect and correct the errors before they can corrupt the information.
General approach
editThe simplest way to make classical information less vulnerable to errors is to store several copies of it. Then, one can periodically compare the copies to check whether they disagree and taking a "majority vote" if they do, i.e. if, say, one copy says, the bit is a 0, and two others claim it to be a 1, then probably all three were a 1 and the first bit got corrupted; the bit that is 0 can then be "corrected" to be 1.
This approach, unfortunately, does not work with quantum information, as the no-cloning theorem prohibits copying qubits. Therefore, the typical apporach is therefore to "spread" (encode) the information of one qubit (now called a logical qubit), over a block of qubits in such a way that an error in a single qubit in this block would not corrupt the information.
After the encoding, specialized error detection and correction algorithms are run periodically to check whether an error has occured in one of the qubits in the block, and, if that is the case, to reset the block to its most likely original state.
While such error correction mechanisms do not counter all possible errors, when used properly they can significantly reduce the likelihood of losing the information.
Introduction
editClassical error correction employs redundancy: The simplest way is to store the information multiple times, and—if these copies are later found to disagree—just take a majority vote; i.e. if, say, one copy says, the bit is a 0, and two others claim it to be a 1, then probably all three were a 1 and the first bit got corrupted.
However, this is not possible with quantum information, as it cannot be copied: see no-cloning theorem.
Therefore it was a relief when Peter Shor realized that, even if the information cannot be copied, the information of one qubit (now called a logical qubit) can be spread onto several (physical) qubits by using a quantum error correcting code. Now, if noise or decoherence corrupts one qubit, the information is not lost.
This is because a quantum error correcting code is designed such that a certain operation, called syndrome measurement can determine whether a qubit has been corrupted, and if so, which one. What is more, the outcome of this operation (the syndrome) tells us not only which physical qubit was affected, but also, in which of several possible ways it was affected.
The latter is counter-intuitive at first sight: Since noise is arbitrary, how can the effect of noise be one of only few distinct possibilities? In most codes, the effect is either a bit flip, or a sign (of the phase) flip, or both (corresponding to the Pauli matrices X, Z, and Y). The reason is that the measurement of the syndrome has the projective effect of a quantum measurement. So even if the error due to the noise was arbitrary, it can be expressed as a superposition of basis operations—the error basis (which is here given by the Pauli matrices and the identity).
So, the syndrome measurement "forces" the qubit to "decide" for a certain specific "Pauli error" to "have happened", and the syndrome tells us which, so that we can let the same Pauli operator act again on the corrupted qubit to revert the effect of the error.
The crucial point is that the syndrome measurement tells us as much as possible about the error that has happened, but nothing at all about the value that is stored in the logical qubit—as otherwise the measurement would destroy any quantum superposition of this logical qubit with other qubits in the quantum computer.
Over time, researchers have come up with several codes:
- Peter Shor's 9-qubit-code, a.k.a. the Shor code, encodes 1 logical qubit in 9 physical qubits and can correct for one bit flip and one phase flip error.
- Andrew Steane found a code which does the same with 7 instead of 9 qubits, see Steane code.
- A generalisation of this concept are the CSS codes, named for their inventors: A. R. Calderbank, Peter Shor and Andrew Steane. A more general class of codes (encompassing the former) are the stabilizer codes of Daniel Gottesman.
- A newer idea is Alexei Kitaev's topological quantum codes.
That these codes allow indeed for quantum computations of arbitrary length is the content of the threshold theorem, found by Michael Ben-Or and Dorit Aharonov, which asserts that you can correct for all errors if you concatenate quantum codes such as the CSS codes—i.e. re-encode each logical qubit by the same code again, and so on, on logarithmically many levels—provided the error rate of individual quantum gates is below a certain threshold; as otherwise, the attempts to measure the syndrome and correct the errors would introduce more new errors than they correct for.
Recent (as of late 2004) estimates for this threshold indicate that it could be as high as 1-3% [1], provided that there are sufficiently many qubits available.