Wikipedia / Stabilizer code
Wikipedia / Stabilizer code
In quantum computing and quantum communication, a stabilizer code is a class of quantum codes for performing quantum error correction. The toric code, and surface codes more generally, 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 the five-qubit error correcting code.
Stabilizer codes are strikingly similar to classical linear block codes in their operation and performance. Just as a classical linear block code can be defined by its parity-check matrix, a quantum stabilizer code also has a "parity check" structure defined by its stabilizers. However, stabilizers for a -qubit code are n-qubit Pauli operatorss instead of classical -bit strings, and they must all commute 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 the dual-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. The entanglement-assisted stabilizer formalism can also overcome this difficulty.
Algebraic-geometry codes provide another source of stabilizer constructions. Matsumoto used algebraic curves to obtain asymptotically good binary stabilizer codes and to improve the Ashikhmin-Litsyn-Tsfasman bound for quantum codes.
Definition
The stabilizer formalism is based on the n-qubit Pauli group , and extensively uses the facts that Hermitian operators (ones with scalar factors instead of ) in have eigenvalues, and that two operators in either commute or anti-commute.
A stabilizer of a stabilizer code with physical qubits is an -qubit Pauli operator lie in the -eigenspace of , i.e., is a valid code state for the stabilizer code if and only if holds for each stabilizer . Therefore the simultaneous -eigenspace of the stabilizers constitutes the codespace of the stabilizer code.
Any two stabilizers and must commute and must also be a stabilizer. Therefore the stabilizers of a code form the stabilizer group, an abelian subgroup of . Conversely, any abelian subgroup of 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 a -qubit stabilizer code encoding logical qubits (denoted as an code), the codespace has has elements. Since all non-unit Hermitian elements of have order can be generated by independent generators:
). They are analogous to the rows of the parity-check matrix of a classical linear block code.
Examples
Classical repetition code
As a simple example, the 3-bit classical repetition code can be regarded as a quantum stabilizer code. It encodes logical qubit into physical qubits, and protects against a single bit-flip error (represented as a Pauli operator in a quantum information context). However, since it does not protect against single-qubit phase-flip errors , its code distance as a quantum code is .
The stabilizer group of the 3-qubit repetition code has generators:
The stabilizer indicates that, if the first and second qubits in a valid code state are both measured in the basis, the results will always be the same (i.e., the product of eigenvalues will always be ). Similarly, indicates that the basis measurement on the second and third qubits always yield the same result. Unsurprisingly, the codespace of this code is
.
to distinguish them from physical states). As a quantum code, the codespace also includes superpositions. Note that a phase-flip error , and vice versa.
Five-qubit code
An example of a stabilizer code is the five qubit stabilizer code. It encodes logical qubit into physical qubits. Its stabilizer group has generators:
As we will show later, this code protects against an arbitrary single-qubit error, and thus it has code distance .
Logical operators
There are many ways to decompose a -dimension codespace into logical qubits, and one way to specify such a decomposition is by giving Pauli and operators for each logical qubit. For stabilizer codes, there exists decompositions where these logical and operators are also elements of .
By definition, a logical operator into a valid code state . This means that for each stabilizer is itself a valid code state), which is always true when and commute and never true when they anti-commute. Therefore the set of valid logical operators in is , the centralizer (i.e., the subgroup of elements that commute with all members of , also known as the commutant).
is also contained in . In fact, when , , meaning that . Furthermore, for any other logical operator , acts identically to on the code state, and thus they implement the same logical operator. Factoring out this equivalence gives the quotient group , which is isomorphic to . Therefore all -qubit logical Pauli operators can be chosen to be -qubit physical Pauli operators.
To explicitly specify the logical qubit decomposition, one usually chooses logical operators . Each of these operators or is a representative implementing the same logical operator. These operators need to satisfy the following conditions:
are all.
Among , the only pairs that anti-commute are and for the same . Other pairs — two logical operators on different logical qubits, one logical operator and one stabilizer generator, or two stabilizer generators — all commute.
Examples
For the 3-qubit repetition code described above, the stabilizer generators (repeated for convenience) and logical operator representatives can be chosen as:
Other single-qubit operators are alternative implementations of the logical operator: , , and vice versa. It is also straightforward to check that applying , 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- Pauli factors). For example, has weight 3.
Stabilizer error-correction conditions
One of the fundamental notions in quantum error correction theory is that it suffices to correct a discrete error set with support:
either commutess or anti-commutes. If anti-commutes with an element is in the -eigenspace of rather than the -eigenspace, and thus is detectable by measuring . Actually it suffices to measure each stabilizer generator , since if commutes with every , then is a logical operator and thus cannot be detected by the code.
is again a special case, where , since a global phase has no physical effect. We define an undetectable logical error as one that is undetectable but does corrupt the encoded state, i.e.,
The equality above gives an alternative characterization of an undetectable logical error : 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 generators , instead of solving a system of linear equations to determine if is the product of some subset of up to global phase.
Operationally, each stabilizer generator can be measured via a parity measurement without disturbing states in the codespace. The combination of results of measuring each is known as the syndrome whose elements indicate whether the error commutes or anti-commutes with each stabilizer generator .
Knill–Laflamme conditions
When using a stabilizer code as an error correction code, one must also choose a correction for each syndrome. If there exists another possible error with the same syndrome as , then after correction there may be a residual error . The condition that has the same syndrome as is equivalent to that . However, if such that is an undetectable logical error.
Examples
. Indeed, the only undetectable logical error that consists only of and is . This can also be verified by explicitly checking the corrections corresponding to each syndrome: ( 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 the , although this is not typical for stabilizer codes: For codes like the surface 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.
Relation between Pauli group and binary vectors
The Pauli group has a binary 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 a symplectic algebra, such that the symplectic 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 linear error correction and quantum stabilizer codes more explicit. In the language of symplectic vector spaces, a symplectic subspace corresponds to a direct sum of Pauli algebras (i.e., encoded qubits), while an isotropic subspace corresponds to a set of stabilizers.
Notes
References
D. Gottesman, "Stabilizer codes and quantum error correction," quant-ph/9705052, Caltech Ph.D. thesis. https://arxiv.org/abs/quant-ph/9705052
A. Calderbank, E. Rains, P. Shor, and N. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp.1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006