This articlemay be too technical for most readers to understand. Pleasehelp improve it tomake it understandable to non-experts, without removing the technical details.(April 2022) (Learn how and when to remove this message) |
Inquantum computing andquantum communication, astabilizer code is a class of quantumcodes for performingquantum error correction. Thetoric code, andsurface codes more generally,[1] are types of stabilizer codes considered very important for the practical realization of quantum information processing. In fact, the toric code and surface codes also belong to a special class of stabilizer codes,CSS codes. An example of a stabilizer code that is not a CSS code is thefive-qubit error correcting code.
Stabilizer codes are strikingly similar to classicallinear block codes in their operation and performance. Just as a classical linear block code can be defined by itsparity-check matrix, a quantum stabilizer code also has a "parity check" structure defined by itsstabilizers. However, stabilizers for an-qubit code aren-qubit Pauli operators instead of classicaln-bit strings, and they must allcommute with each other for the code to be valid.
The theory of stabilizer codes allows one to import some classical binary or quaternary codes for use as a quantum code. However, when importing the classical code, it must satisfy thedual-containing (or self-orthogonality) constraint. Researchers have found many examples of classical codes satisfying this constraint, but most classical codes do not. Nevertheless, it is still useful to import classical codes in this way. Theentanglement-assisted stabilizer formalism can also overcome this difficulty.
The stabilizer formalism is based then-qubit Pauli groupΠn, and extensively uses the facts thatHermitian operators (ones with scalar factors±1 instead of±i) inΠn haveeigenvalues, and that two operators inΠn eithercommute oranti-commute.
Astabilizer of a stabilizer code withn physical qubits is ann-qubit Pauli operatorP ∈ Πn such that all valid code states lie in the+1-eigenspace ofP, i.e.,. A stabilizer code is defined by its stabilizers in the sense that the converse is also true: A state is a valid code state for the stabilizer code if and only if holds for each stabilizerP. Therefore the simultaneous+1-eigenspace of the stabilizers constitutes thecodespace of the stabilizer code.
Any two stabilizersP andQ must commute andPQ must also be a stabilizer. Therefore the stabilizers of a code form thestabilizer group, anabeliansubgroup ofΠn. Conversely, any abelian subgroup ofΠn that does not contain[note 1] is a valid stabilizer group that defines a stabilizer code.
The number of logical qubits encoded in a stabilizer code is determined by the size of the codespace, which is in turn determined by the number of physical qubits and the size of the stabilizer group. For an-qubit stabilizer code encodingk logical qubits (denoted as an[[n,k]] code), the codespace has2k dimensions, and the stabilizer group has2n −k elements. Since all non-unit Hermitian elements ofΠn hasorder 2, can begenerated byn −k independent generators:
The generators must be independent in the sense that none of them are a product of any number of other generators, or the negation thereof (otherwise they would generate). They are analogous to the rows of theparity-check matrix of a classicallinear block code.
As a simple example, the 3-bit[3, 1, 3] classicalrepetition code can be regarded as a[[3, 1, 1]] quantum stabilizer code. It encodesk = 1 logical qubit inton = 3 physical qubits, and protects against a single bit-flip error (represented as a PauliX operatorXi in a quantum information context). However, since it does not protect against single-qubit phase-flip errorsZi, its code distance as a quantum code isd = 1.
The stabilizer group of the 3-qubit repetition code hasn −k = 2 generators:
The stabilizerg1 indicates that, if the first and second qubits in a valid code state are both measured in theZ basis, the results will always be the same (i.e., the product ofZ eigenvalues will always be+1). Similarly,g2 indicates that theZ basis measurement on the second and third qubits always yield the same result. Unsurprisingly, the codespace of this code is
Usually, the physical state and are identified with the and states of the logical qubit respectively (often written as and to distinguish them from physical states). As a quantum code, the codespace also includessuperpositions of and, such as and. Note that a phase-flip errorZi on any one physical qubit will change to, and vice versa.
An example of a stabilizer code is the five qubit[[5, 1, 3]] stabilizer code. It encodesk = 1 logical qubit inton = 5 physical qubits. Its stabilizer group hasn −k = 4 generators:
As we will show later, this code protects against an arbitrary single-qubit error, and thus it has code distanced = 3.
There are many ways to decompose a2k-dimension codespace intok logical qubits, and one way to specify such a decomposition is by giving PauliZ andX operators for each logical qubit. For stabilizer codes, there exists decompositions where these logicalZ andX operators are also elements ofΠn.
By definition, a logical operatorP must map a valid code state into a valid code state. This means that for each stabilizerS, (the second equality holds since is itself a valid code state), which is always true whenP andS commute and never true when they anti-commute. Therefore the set of valid logical operators inΠn is, thecentralizer of (i.e., the subgroup of elements that commute with all members of, also known as the commutant).
However, not all these logical operators act non-trivially on the logical qubit. In particular, since is an abelian subgroup, is also contained in. In fact, when,, meaning thatS implements the logical identity operator. Furthermore, for any other logical operatorP,PS acts identically toP on the code state, and thus they implement the same logical operator. Factoring out this equivalence gives thequotient group, which isisomorphic toΠk. Therefore allk-qubit logical Pauli operators can be chosen to ben-qubit physical Pauli operators.
To explicitly specify the logical qubit decomposition, one usually chooses logical operatorsZ1,X1, ...,Zk,Xk ∈ Πn. Each of these operatorsZi orXi is arepresentative for the equivalence class or implementing the same logical operator. These operators need to satisfy the following conditions:
For the 3-qubit repetition code described above, the stabilizer generators (repeated for convenience) and logical operator representatives can be chosen as:
Other single-qubitZ operators are alternative implementations of the logicalZ operator:Z2 =Zg1,Z3 =Zg1g2. This is consistent with the above observation that any single-qubit phase-flip error changes to, and vice versa. It is also straightforward to check that applyingX =XXX, i.e., bit-flipping all three qubits, changes to, and vice versa.
For the five-qubit code, the logical operator representatives are usually chosen as:
Note, however, that these are not the logical operator representative candidates with the lowest weight (number of non-I Pauli factors). For example,Zg1 = −YIIYZ has weight 3.
One of the fundamental notions in quantum error correction theory is that itsuffices to correct adiscrete error set withsupport in the Pauli group. Suppose that the errors affecting anencoded quantum state are a subset of the Pauli group:
Because and are both subsets of, an error eithercommutes oranti-commutes with any particular element. IfE anti-commutes with an elementS, then which means that is in the−1-eigenspace ofS rather than the+1-eigenspace, and thusE is detectable bymeasuringS. Actually it suffices to measure each stabilizer generatorg, since ifE commutes with everyg, thenE will also commute with the product of any number of them. In this case is a logical operator and thus cannot be detected by the code.
However, is again a special case, whereE implements the logical identity operator: Even though it is not detectable, it also does not corrupt the encoded state. This also holds for any scalar multiple of, since aglobal phase has no physical effect. We define anundetectable logical errorE as one that is undetectable but does corrupt the encoded state, i.e.,
The equality above gives an alternative characterization of an undetectable logical errorE:E must commute with all stabilizers, but not with all logical operators. This characterization is often more convenient since one only need to check commutativity with the generatorsZ1,X1, ...,Zk,Xk,g1, ...,gn −k, instead of solving a system of linear equations to determine ifE is the product of some subset of{gi} up to global phase.
Operationally, each stabilizer generatorg can be measured via aparity measurement without disturbing states in the codespace. The combination of results of measuring eachg is known as thesyndrome, represented as a binary vector with length whose elements indicate whether the errorE commutes or anti-commutes with each stabilizer generatorg.
When using a stabilizer code as an errorcorrection code, one must also choose a correctionE1†[note 2] for each syndrome. If there exists another possible errorE2 with the same syndrome asE1, then after correction there may be a residual errorE1†E2. The condition thatE2 has the same syndrome asE1 is equivalent to thatE1†E2 is undetectable, i.e.,. However, ifE1†E2 does not corrupt the logical qubits, then the error correction will be successful anyway. Therefore, a stabilizer code can perfectly correct a set of Pauli errors as long as there does not exist such thatE1†E2 is an undetectable logical error.[note 3]
The 3-qubit repetition code can correct single-qubit bit-flip errors, which means that it satisfies the error-correction conditions for. Indeed, the only undetectable logical error that consists only ofI andX isXXX with weight 3, and the product of two errors in . This can also be verified by explicitly checking the corrections corresponding to each syndrome:
| Syndrome | Correction |
|---|---|
| +1, +1 | I |
| −1, +1 | X1 |
| −1, −1 | X2 |
| +1, −1 | X3 |
The five-qubit code can correct any single-qubit error, i.e., it satisfies the error-correction conditions for (1 + 5 × 3 = 16 distinct errors). This can be verified either by showing that all undetectable logical errors of this code has weight at least 3, or by explicitly checking the24 = 16 syndromes. For the five-qubit code again each syndrome corresponds to one error in, although this is not typical for stabilizer codes: For codes like thesurface code with high code distances and relatively low-weight stabilizers, one syndrome will usually correspond to many correctable errors that differ from each other by stabilizers.
The Pauli group has abinary vector representation based on the following mapping:
This mapping maps to vectors in, such that multiplication of Pauli operators is equivalent to addition of binary vectors up to a global phase. Furthermore, can be equipped with asymplectic algebra, such that thesymplectic product of two binary vectors indicate whether the corresponding Pauli operators commute.
The above binary representation and symplectic algebra are especially useful in making the relation between classical linearerror correction and quantum stabilizer codes more explicit. In the language ofsymplectic vector spaces, asymplectic subspace corresponds to adirect sum of Pauli algebras (i.e., encoded qubits), while anisotropic subspace corresponds to a set of stabilizers.