Stabilizer code

Short description: Quantum error correction code

This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (April 2022) (Learn how and when to remove this template message)

|

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.

## Contents

* 1 Definition
* 2 Examples
* 2.1 Classical repetition code
* 2.2 Five-qubit code
* 3 Logical operators
* 3.1 Examples
* 4 Stabilizer error-correction conditions
* 4.1 Examples
* 5 Relation between Pauli group and binary vectors
* 6 Notes
* 7 References

## Definition

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 ±1, 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., P|ψ⟩=|ψ⟩. 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 P|ψ⟩=|ψ⟩ 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 −I⊗n[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 2n − k elements. Since all non-unit Hermitian elements of Πn has order 2, 𝒮 can be generated by n − k independent generators:

𝒮=⟨g1,…,gn−k⟩.

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 −I⊗n). They are analogous to the rows of the parity-check matrix of a classical linear block code.

## Examples

### Classical repetition code

Main article: Repetition code

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 n − k = 2 generators:

g1=ZZIg2=IZZ

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

Span(|000⟩,|111⟩).

Usually, the physical state |000⟩ and |111⟩ are identified with the |0⟩ and |1⟩ states of the logical qubit respectively (often written as |0‾⟩ and |1‾⟩ to distinguish them from physical states). As a quantum code, the codespace also includes superpositions of |0‾⟩ and |1‾⟩, such as |+‾⟩=|000⟩+|111⟩ and |−‾⟩=|000⟩−|111⟩. Note that a phase-flip error Zi on any one physical qubit will change |+‾⟩ to |−‾⟩, and vice versa.

### Five-qubit code

Main article: Five-qubit error correcting code

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 n − k = 4 generators:

g1=XZZXIg2=IXZZXg3=XIXZZg4=ZXIXZ

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

## Logical operators

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 P|ψ⟩. This means that for each stabilizer S, SP|ψ⟩=P|ψ⟩=PS|ψ⟩ (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 C(𝒮), 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 C(𝒮). In fact, when S∈𝒮, S|ψ⟩=|ψ⟩, meaning that S implements the logical identity operator I⊗k. 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 C(𝒮)/𝒮, 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 Zi‾𝒮 or Xi‾𝒮 implementing the same logical operator. These operators need to satisfy the following conditions:

* Z1, X1, ..., Zk, Xk, g1, ..., gn − k are all independent: The product of any nonempty subset of these operators cannot be a scalar multiple of I⊗n.
* Among Z1, X1, ..., Zk, Xk, g1, ..., gn − k, 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

For the 3-qubit repetition code described above, the stabilizer generators (repeated for convenience) and logical operator representatives can be chosen as:

g1=ZZIg2=IZZZ‾=ZIIX‾=XXX

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 |0‾⟩ to |1‾⟩, and vice versa.

For the five-qubit code, the logical operator representatives are usually chosen as:

g1=XZZXIg2=IXZZXg3=XIXZZg4=ZXIXZZ‾=ZZZZZX‾=XXXXX

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

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 Πn. Suppose that the errors affecting an encoded quantum state are a subset ℰ of the Pauli group Πn:

ℰ⊂Πn.

Because ℰ and 𝒮 are both subsets of Πn, an error E∈ℰ either commutes or anti-commutes with any particular element S∈𝒮. If E anti-commutes with an element S, then SE|ψ⟩=−ES|ψ⟩=−E|ψ⟩ which means that E|ψ⟩ 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 E∈C(𝒮) is a logical operator and thus cannot be detected by the code.

However, E∈𝒮 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 E∈𝒮, 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.,

E∈C(𝒮)∖{+1,+i,−1,−i}⊗𝒮=C(𝒮)∖C(C(𝒮)).

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, ..., gn − k, 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 n−k 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 E1†E2. The condition that E2 has the same syndrome as E1 is equivalent to that E1†E2 is undetectable, i.e., E1†E2∈C(𝒮). However, if E1†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 E1,E2∈ℰ such that E1†E2 is an undetectable logical error.[note 3]

### Examples

The 3-qubit repetition code can correct single-qubit bit-flip errors, which means that it satisfies the error-correction conditions for ℰ={I,X1,X2,X3}. 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 ℰ={I,Xi,Yi,Zi} (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

The Pauli group has a binary vector representation based on the following mapping:

I->00,X->01,Y->11,Z->10.

This mapping maps Πn to vectors in (ℤ2)2n, such that multiplication of Pauli operators is equivalent to addition of binary vectors up to a global phase. Furthermore, (ℤ2)2n 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

1. ↑ This condition implies that all members of 𝒮 are Hermitian, since an anti-Hermitian element of Πn squares to −I⊗n.
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 I⊗n, 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

1. ↑ "What is the "surface code" in the context of quantum error correction?". https://quantumcomputing.stackexchange.com/questions/2106/what-is-the-surface-code-in-the-context-of-quantum-error-correction.

* D. Gottesman, "Stabilizer codes and quantum error correction," quant-ph/9705052, Caltech Ph.D. thesis. https://arxiv.org/abs/quant-ph/9705052
* Shor, Peter W. (1995-10-01). "Scheme for reducing decoherence in quantum computer memory". Physical Review A (American Physical Society (APS)) 52 (4): R2493–R2496. doi:10.1103/physreva.52.r2493. ISSN 1050-2947. PMID 9912632. Bibcode: 1995PhRvA..52.2493S.
* Calderbank, A. R.; Shor, Peter W. (1996-08-01). "Good quantum error-correcting codes exist". Physical Review A (American Physical Society (APS)) 54 (2): 1098–1105. doi:10.1103/physreva.54.1098. ISSN 1050-2947. PMID 9913578. Bibcode: 1996PhRvA..54.1098C.
* Steane, A. M. (1996-07-29). "Error Correcting Codes in Quantum Theory". Physical Review Letters (American Physical Society (APS)) 77 (5): 793–797. doi:10.1103/physrevlett.77.793. ISSN 0031-9007. PMID 10062908. Bibcode: 1996PhRvL..77..793S.
* 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

* v
* t
* e

Quantum information science

General|

* Quantum computing
* Qubit
* physical vs. logical
* DiVincenzo's criteria
* Quantum information
* Quantum programming
* Quantum processors
* Cloud-based quantum computing
* Timeline of quantum computing

Theorems|

* Bell's theorem
* Gleason's theorem
* Gottesman–Knill theorem
* Holevo's theorem
* Margolus–Levitin theorem
* No-broadcast theorem
* No-cloning theorem
* No-communication theorem
* No-deleting theorem
* No-hiding theorem
* No-teleportation theorem
* PBR theorem
* Quantum threshold theorem

Quantum
communication|

* Quantum capacity
* Classical capacity
* Entanglement-assisted classical capacity
* Quantum channel
* Quantum network
* Quantum cryptography
* Quantum key distribution
* BB84
* SARG04
* Three-stage quantum cryptography protocol
* Quantum teleportation
* Superdense coding
* LOCC
* Entanglement distillation

Quantum algorithms|

* Universal quantum simulator
* Deutsch–Jozsa algorithm
* Grover's algorithm
* Quantum Fourier transform
* Shor's algorithm
* Simon's problem
* Quantum phase estimation algorithm
* Quantum counting algorithm
* Quantum annealing
* Quantum algorithm for linear systems of equations
* Amplitude amplification

Quantum
complexity theory|

* Quantum Turing machine
* EQP
* BQP
* QMA
* PostBQP
* QIP

Quantum
computing models|

* Quantum circuit
* Quantum logic gate
* One-way quantum computer
* cluster state
* Adiabatic quantum computation
* Topological quantum computer

Quantum
error correction|

* Stabilizer codes
* Entanglement-Assisted Quantum Error Correction
* Shor code
* Steane code
* CSS code
* Quantum convolutional codes
* Toric code

Physical
implementations|

| Quantum optics|

* Cavity QED
* Circuit QED
* Linear optical quantum computing
* KLM protocol
* Boson sampling

|

Ultracold atoms|

* Trapped ion quantum computer
* Optical lattice

Spin-based|

* Nuclear magnetic resonance QC
* Kane QC
* Loss–DiVincenzo QC
* Nitrogen-vacancy center

Superconducting
quantum computing|

* Charge qubit
* Flux qubit
* Phase qubit
* Transmon

Software|

* libquantum
* OpenQASM
* Q#
* Qiskit
* IBM Q Experience

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Stabilizer code. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Stabilizer_code&oldid=4227195"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template