Content deleted Content added
Jess Riedel (talk | contribs) No edit summary |
|||
(35 intermediate revisions by 26 users not shown) | |||
Line 1:
{{Short description|Quantum error correction code}}
{{technical|date=April 2022}}
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.
operation and performance. Quantum error-correcting codes restore a noisy,▼
== Conceptual background ==
[[decoherence|decohered]] [[quantum state]] to a pure quantum state. A
[[
to qubits that we want to protect. A unitary encoding circuit rotates the
global state into a subspace of a larger [[Hilbert space]]. This highly [[Quantum entanglement|entangled]],
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
classical binary or quaternary codes for use as a quantum code.
classical code, it must satisfy the [[dual code|dual-containing]] (or
▲classical code must satisfy the [[dual code|dual-containing]] or [[dual code|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 (though, see how the [[entanglement-assisted stabilizer formalism]] overcomes this difficulty).
Line 22 ⟶ 24:
== Mathematical background ==
The
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 48 ⟶ 50:
.
</math>
The above operators act on a single [[qubit]]
[[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 61 ⟶ 63:
\right\} .
</math>
Elements of <math>\Pi^{n}</math> act on a [[quantum register]] of <math>n</math> qubits. We
occasionally omit [[tensor product]] symbols in what follows so that
:<math>A_{1}\cdots A_{n}\equiv A_{1}\otimes\cdots\otimes A_{n}.</math>
Line 73 ⟶ 75:
code to encode <math>k</math> logical qubits into <math>n</math> physical qubits. The rate of such a
code is <math>k/n</math>. Its stabilizer <math>\mathcal{S}</math> is an [[abelian group|abelian]] [[subgroup]] of the
<math>n</math>-fold Pauli group <math>
does not contain the operator <math>-I^{\otimes n}</math>. The simultaneous
<math>+1</math>-[[eigenspace]] of the operators constitutes the ''codespace''. The
Line 83 ⟶ 85:
The generators are
independent in the sense that none of them
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 90 ⟶ 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
<math>\Pi^{n}</math>. Suppose that the errors affecting an
encoded quantum state are a subset <math>\mathcal{E}</math> of the
:<math>\mathcal{E}\subset\Pi^{n}.</math>
encoded quantum state either [[Commutative property|commute]]s or [[anticommute]]s with any particular
element <math>g</math> in <math>\mathcal{S}</math>. The error <math>E</math> is correctable if it
anticommutes with an element <math>g</math> in <math>\mathcal{S}</math>. An anticommuting error
<math>E</math> is detectable by [[quantum measurement|measuring]] each element <math>g</math> in <math>\mathcal{S}</math> and
computing a
vector <math>\mathbf{r}</math> with length <math>n-k</math> whose elements identify whether the
error <math>E</math> commutes or anticommutes with each <math>g\in\mathcal{S}</math>. An error
Line 115 ⟶ 117:
where <math>\mathcal{Z}\left( \mathcal{S}
\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).
== Relation between [[Pauli group]] and binary vectors ==▼
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\{
:<math>▼
\begin{array}▼
\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_{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.▼
A simple but useful mapping exists between elements of <math>\Pi</math> and the binary
Line 231 ⟶ 275:
The map <math>\left[ \mathbf{N}\right] :\left( \mathbb{Z}_{2}\right)
^{2n}\rightarrow\left[ \Pi^{n}\right] </math> is an [[isomorphism]] for the same
reason given as in the previous case:
:<math>
\left[ \mathbf{N}\left( \mathbf{u+v}\right) \right] =\left[
Line 246 ⟶ 290:
</math>
The above binary representation and [[symplectic algebra]] are useful in making
the relation between classical linear [[error correction]] and
By comparing quantum error correcting codes in this language to [[symplectic vector space
▲==Example of a stabilizer code==
▲An example of a stabilizer code is the five qubit
▲<math>\left[ 5,1\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. 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.
*
* {{cite journal | last1=Calderbank | first1=A. R.
* {{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.
{{Quantum computing}}
|