Jump to content

Stabilizer code

From Wikipedia, the free encyclopedia

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,[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 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 n-qubit code are n-qubit Pauli operators instead of classical n-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.

Definition

[edit]

The stabilizer formalism is based the n-qubit Pauli group Πn, and extensively uses the facts that Hermitian operators (ones with scalar factors ±1 instead of ±i) in Πn have eigenvalues , and that two operators in Πn either commute or anti-commute.

A stabilizer of a stabilizer code with n physical qubits is an n-qubit Pauli operator P ∈ Πn such that all valid code states lie in the +1-eigenspace of P, 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 stabilizer P. Therefore the simultaneous +1-eigenspace of the stabilizers constitutes the codespace of the stabilizer code.

Any two stabilizers P and Q must commute and PQ must also be a stabilizer. Therefore the stabilizers of a code form the stabilizer group , an abelian subgroup 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 a n-qubit stabilizer code encoding k logical qubits (denoted as an [[n, k]] code), the codespace has 2k dimensions, and the stabilizer group has 2nk elements. Since all non-unit Hermitian elements of Πn has order 2, can be generated by nk 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 the parity-check matrix of a classical linear block code.

Examples

[edit]

Classical repetition code

[edit]

As a simple example, the 3-bit [3, 1, 3] classical repetition code can be regarded as a [[3, 1, 1]] quantum stabilizer code. It encodes k = 1 logical qubit into n = 3 physical qubits, and protects against a single bit-flip error (represented as a Pauli X operator Xi in a quantum information context). However, since it does not protect against single-qubit phase-flip errors Zi, its code distance as a quantum code is d = 1.

The stabilizer group of the 3-qubit repetition code has nk = 2 generators:

The stabilizer g1 indicates that, if the first and second qubits in a valid code state are both measured in the Z basis, the results will always be the same (i.e., the product of Z eigenvalues will always be +1). Similarly, g2 indicates that the Z 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 includes superpositions of and , such as and . Note that a phase-flip error Zi on any one physical qubit will change to , and vice versa.

Five-qubit code

[edit]

An example of a stabilizer code is the five qubit [[5, 1, 3]] stabilizer code. It encodes k = 1 logical qubit into n = 5 physical qubits. Its stabilizer group has nk = 4 generators:

As we will show later, this code protects against an arbitrary single-qubit error, and thus it has code distance d = 3.

Logical operators

[edit]

There are many ways to decompose a 2k-dimension codespace into k logical qubits, and one way to specify such a decomposition is by giving Pauli Z and X operators for each logical qubit. For stabilizer codes, there exists decompositions where these logical Z and X operators are also elements of Πn.

By definition, a logical operator P must map a valid code state into a valid code state . This means that for each stabilizer S, (the second equality holds since is itself a valid code state), which is always true when P and S commute and never true when they anti-commute. Therefore the set of valid logical operators in Πn is , the centralizer 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 that S implements the logical identity operator . Furthermore, for any other logical operator P, PS acts identically to P on the code state, and thus they implement the same logical operator. Factoring out this equivalence gives the quotient group , which is isomorphic to Πk. Therefore all k-qubit logical Pauli operators can be chosen to be n-qubit physical Pauli operators.

To explicitly specify the logical qubit decomposition, one usually chooses logical operators Z1, X1, ..., Zk, Xk ∈ Πn. Each of these operators Zi or Xi is a representative for the equivalence class or implementing the same logical operator. These operators need to satisfy the following conditions:

  • Z1, X1, ..., Zk, Xk, g1, ..., gnk are all independent: The product of any nonempty subset of these operators cannot be a scalar multiple of .
  • Among Z1, X1, ..., Zk, Xk, g1, ..., gnk, the only pairs that anti-commute are Zi and Xi for the same i. Other pairs — two logical operators on different logical qubits, one logical operator and one stabilizer generator, or two stabilizer generators — all commute.

Examples

[edit]

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 Z operators are alternative implementations of the logical Z 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 applying X = 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.

Stabilizer error-correction conditions

[edit]

One of the fundamental notions in quantum error correction theory is that it suffices to correct a discrete error set with support in the Pauli group . Suppose that the errors affecting an encoded quantum state are a subset of the Pauli group :

Because and are both subsets of , an error either commutes or anti-commutes with any particular element . If E anti-commutes with an element S, then which means that is in the −1-eigenspace of S rather than the +1-eigenspace, and thus E is detectable by measuring S. Actually it suffices to measure each stabilizer generator g, since if E commutes with every g, then E 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, where E 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 a global phase has no physical effect. We define an undetectable logical error E 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 E: 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 generators Z1, X1, ..., Zk, Xk, g1, ..., gnk, instead of solving a system of linear equations to determine if E is the product of some subset of {gi} up to global phase.

Operationally, each stabilizer generator g can be measured via a parity measurement without disturbing states in the codespace. The combination of results of measuring each g is known as the syndrome , represented as a binary vector with length whose elements indicate whether the error E commutes or anti-commutes with each stabilizer generator g.

When using a stabilizer code as an error correction code, one must also choose a correction E1[note 2] for each syndrome. If there exists another possible error E2 with the same syndrome as E1, then after correction there may be a residual error E1E2. The condition that E2 has the same syndrome as E1 is equivalent to that E1E2 is undetectable, i.e., . However, if E1E2 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 that E1E2 is an undetectable logical error.[note 3]

Examples

[edit]

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 of I and X is XXX 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 the 24 = 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 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

[edit]

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

[edit]
  1. ^ This condition implies that all members of are Hermitian, since an anti-Hermitian element of Πn squares to .
  2. ^ Although Pauli errors are all self-adjoint, here we use notations that align with the more general quantum error-correction theory.
  3. ^ In most cases, is defined in a way such that it includes , to be chosen as the correction when no error has happened. This way, the no-error case does not need to be treated specially.

References

[edit]
  1. ^ "What is the "surface code" in the context of quantum error correction?". Quantum Computing Stack Exchange. Retrieved 2024-01-12.