Stabilizer code: Difference between revisions

Content deleted Content added
JRIE97 (talk | contribs)
Stabilizer error-correction conditions: Syndrome here doesn't refer to medical terminology
 
(20 intermediate revisions by 14 users not shown)
Line 1:
{{Short description|Quantum error correction code}}
{{Cleanup|date=March 2010}}
{{technical|date=April 2022}}
The theory of [[quantum error correction]] plays a prominent role in the practical realization and engineering of
 
[[quantum computing]] and [[quantum communication]] devices. The first quantum
In [[quantum computing]] and [[quantum communication]], a '''stabilizer code''' is a class of quantum [[code]]s for performing [[quantum error correction]]. The [[toric code]], and [[Toric code#Generalizations|surface codes]] more generally,<ref>{{cite web|access-date=2024-01-12|title=What is the "surface code" in the context of quantum error correction?|url=https://quantumcomputing.stackexchange.com/questions/2106/what-is-the-surface-code-in-the-context-of-quantum-error-correction|website=Quantum Computing Stack Exchange}}</ref> are types of stabilizer codes considered very important for the practical realization of quantum information processing.
error-correcting codes are strikingly similar to [[error correction|classical block codes]] in their
 
operation and performance. Quantum error-correcting codes restore a noisy,
== Conceptual background ==
 
operation and performance. Quantum error-correcting codes restore a noisy,
[[decoherence|decohered]] [[quantum state]] to a pure quantum state. A
[[Group action (mathematics)#Orbits and stabilizers|stabilizer]] quantum error-correcting code appends [[Ancilla (quantum computing)|ancilla qubits]]
Line 11 ⟶ 14:
and [[quantum communication]] practical by providing a way for a sender and
receiver to simulate a noiseless qubit channel given a [[noisy qubit channel]]
whose noise conforms to a particular error model. The first quantum error-correcting codes are strikingly similar to [[error correction|classical block codes]] in their operation and performance.
 
The stabilizer theory of [[quantum error correction]] allows one to import some
Line 21 ⟶ 24:
== Mathematical background ==
 
The Stabilizerstabilizer formalism exploits elements of
the [[Pauli group]] <math>\Pi</math> in formulating quantum error-correcting codes. The set
<math>\Pi=\left\{ I,X,Y,Z\right\} </math> consists of the [[Pauli operators]]:
Line 47 ⟶ 50:
.
</math>
The above operators act on a single [[qubit]]---a state represented by a vector in a two-dimensional
[[Hilbert space]]. Operators in <math>\Pi</math> have [[eigenvalues]] <math>\pm1</math> and either [[Commutative property|commute]]
or [[anti-commute]]. The set <math>\Pi^{n}</math> consists of <math>n</math>-fold [[tensor product]]s of
Line 82 ⟶ 85:
 
The generators are
independent in the sense that none of them isare a product of any other two (up
to a [[Quantum state|global phase]]). The operators <math>g_{1},\ldots,g_{n-k}</math> function in the same
way as a [[parity check matrix]] does for a classical [[linear block code]].
Line 89 ⟶ 92:
 
One of the fundamental notions in quantum error correction theory is that it
suffices to correct a [[Discrete set|discrete]] error set with [[Support (mathematics)|support]] in the [[Pauli group]]
<math>\Pi^{n}</math>. Suppose that the errors affecting an
encoded quantum state are a subset <math>\mathcal{E}</math> of the [[Pauli group]] <math>\Pi^{n}</math>:
:<math>\mathcal{E}\subset\Pi^{n}.</math>
 
Line 116 ⟶ 119:
\right) </math> is the [[centralizer]] of <math>\mathcal{S}</math> (i.e., the subgroup of elements that commute with all members of <math>\mathcal{S}</math>, also known as the commutant).
 
==ExampleSimple example of a stabilizer code==
== Relation between [[Pauli group]] and binary vectors ==
AnA simple example of a stabilizer code is thea fivethree qubit
<math>\left[[ 53,1,3\right]] </math> stabilizer code. It encodes <math>k=1</math> logical qubit
into <math>n=53</math> physical qubits and protects against an arbitrarya single-qubitbit flip
error in the set <math>\left\{
X_{i}\right\}</math>. This does not protect against other Pauli errors such as phase flip errors in the set <math>\left\{
Y_{i}\right\}</math>.or <math>\left\{
errorZ_{i}\right\}</math>. ItThis has code distance <math>d=3</math>. Its stabilizer consists of <math>n-k=42</math> Pauli operators:
:<math>
\begin{array}
[c]{cccccccccc}
g_{1} & = & X & Z & Z & X & I\\
g_{2} & = & I & X & Z & Z & X\\
\end{array}
</math>
If there are no bit-flip errors, both operators <math>g_{1}</math> and <math>g_{2}</math> commute, the syndrome is +1,+1, and no errors are detected.
 
If there is a bit-flip error on the first encoded qubit, operator <math>g_{1}</math> will anti-commute and <math>g_{2}</math> commute, the syndrome is -1,+1, and the error is detected. If there is a bit-flip error on the second encoded qubit, operator <math>g_{1}</math> will anti-commute and <math>g_{2}</math> anti-commute, the syndrome is -1,-1, and the error is detected. If there is a bit-flip error on the third encoded qubit, operator <math>g_{1}</math> will commute and <math>g_{2}</math> anti-commute, the syndrome is +1,-1, and the error is detected.
 
==Example of a stabilizer code==
{{main|Five-qubit error correcting code}}
An example of a stabilizer code is the five qubit
<math>\left[[ 5,1,3\right]] </math> stabilizer code. It encodes <math>k=1</math> logical qubit
into <math>n=5</math> physical qubits and protects against an arbitrary single-qubit
error. It has code distance <math>d=3</math>. Its stabilizer consists of <math>n-k=4</math> Pauli operators:
:<math>
\begin{array}
[c]{ccccccc}
g_{31} & = & X & IZ & XZ & ZX & ZI\\
g_{42} & = & ZI & X & IZ & XZ & ZX\\
g_{3} & = & X & I & X & Z & Z\\
g_{4} & = & Z & X & I & X & Z
\end{array}
</math>
The above operators commute. Therefore, the codespace is the simultaneous
+1-eigenspace of the above operators. Suppose a single-qubit error occurs on
the encoded quantum register. A single-qubit error is in the set <math>\left\{
X_{i},Y_{i},Z_{i}\right\}</math> where <math>A_{i}</math> denotes a Pauli error on qubit <math>i</math>.
It is straightforward to verify that any arbitrary single-qubit error has a
unique syndrome. The receiver corrects any single-qubit error by identifying
the syndrome via a [[parity measurement]] and applying a corrective operation.
 
== Relation between [[Pauli group]] and binary vectors ==
 
A simple but useful mapping exists between elements of <math>\Pi</math> and the binary
Line 245 ⟶ 290:
</math>
The above binary representation and [[symplectic algebra]] are useful in making
the relation between classical linear [[error correction]] and [[quantum error correction]] more explicit.
 
By comparing quantum error correcting codes in this language to [[symplectic vector space]]s, we can see the following. A [[Symplectic vector space#Subspaces|symplectic]] subspace corresponds to a [[direct sum]] of Pauli algebras (i.e., encoded qubits), while an [[Symplectic vector space#Subspaces|isotropic]] subspace corresponds to a set of stabilizers.
 
==Example of a stabilizer code==
 
An example of a stabilizer code is the five qubit
<math>\left[[ 5,1,3\right]] </math> stabilizer code. It encodes <math>k=1</math> logical qubit
into <math>n=5</math> physical qubits and protects against an arbitrary single-qubit
error. It has code distance <math>d=3</math>. Its stabilizer consists of <math>n-k=4</math> Pauli operators:
:<math>
\begin{array}
[c]{ccccccc}
g_{1} & = & X & Z & Z & X & I\\
g_{2} & = & I & X & Z & Z & X\\
g_{3} & = & X & I & X & Z & Z\\
g_{4} & = & Z & X & I & X & Z
\end{array}
</math>
The above operators commute. Therefore, the codespace is the simultaneous
+1-eigenspace of the above operators. Suppose a single-qubit error occurs on
the encoded quantum register. A single-qubit error is in the set <math>\left\{
X_{i},Y_{i},Z_{i}\right\}</math> where <math>A_{i}</math> denotes a Pauli error on qubit <math>i</math>.
It is straightforward to verify that any arbitrary single-qubit error has a
unique syndrome. The receiver corrects any single-qubit error by identifying
the syndrome and applying a corrective operation.
 
==References==
{{Reflist}}
 
* D. Gottesman, "Stabilizer codes and quantum error correction," quant-ph/9705052, Caltech Ph.D. thesis. https://arxiv.org/abs/quant-ph/9705052
* {{cite journal | last=Shor | first=Peter W. | title=Scheme for reducing decoherence in quantum computer memory | journal=Physical Review A | publisher=American Physical Society (APS) | volume=52 | issue=4 | date=1995-10-01 | issn=1050-2947 | doi=10.1103/physreva.52.r2493 | pages=R2493–R2496| pmid=9912632 | bibcode=1995PhRvA..52.2493S }}
* {{cite journal | lastlast1=Calderbank | firstfirst1=A. R. | last2=Shor | first2=Peter W. | title=Good quantum error-correcting codes exist | journal=Physical Review A | publisher=American Physical Society (APS) | volume=54 | issue=2 | date=1996-08-01 | issn=1050-2947 | doi=10.1103/physreva.54.1098 | pages=1098–1105| pmid=9913578 |arxiv=quant-ph/9512032| bibcode=1996PhRvA..54.1098C | s2cid=11524969 }}
* {{cite journal | last=Steane | first=A. M. | title=Error Correcting Codes in Quantum Theory | journal=Physical Review Letters | publisher=American Physical Society (APS) | volume=77 | issue=5 | date=1996-07-29 | issn=0031-9007 | doi=10.1103/physrevlett.77.793 | pages=793–797| 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.&nbsp;1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006