Content deleted Content added
→Relation between Pauli group and binary vectors: Remove a blank and unnecessary wiki link. |
|||
(44 intermediate revisions by 30 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.
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 ==
[[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]],
encoded state corrects for local noisy errors. A quantum error-correcting code makes [[quantum computation]]
and [[quantum communication]] practical by providing a way for a sender and
receiver to simulate a
▲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>
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>
The <math>n</math>-fold [[Pauli group]]
<math>\Pi^{n}</math> plays an important role for both the encoding circuit and the
error-correction procedure of a quantum stabilizer code over <math>n</math>
== Definition ==
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
codespace has dimension <math>2^{k}</math> so that we can encode <math>k</math>
stabilizer <math>\mathcal{S}</math> has a minimal [[Representation (mathematics)|representation]] in terms of <math>n-k</math>
independent generators
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
[[vector space]] <math>\left( \mathbb{Z}_{2}\right) ^{2}</math>. This mapping gives a
simplification of quantum error correction theory. It represents quantum codes
with [[bit vector|binary vector]]s and [[binary operation]]s rather than with [[Pauli operator]]s and
[[matrix operation]]s respectively.
Line 132 ⟶ 176:
</math>
Let <math>\left[ \Pi\right] </math> be the set of phase-free
<math>\left[ \Pi\right] =\left\{ \left[ A\right] \ |\ A\in\Pi\right\} </math>.
Define the map <math>N:\left( \mathbb{Z}_{2}\right) ^{2}\rightarrow\Pi</math> as
Line 149 ⟶ 193:
_{2}\right) ^{2}\rightarrow\left[ \Pi\right] </math> because addition of vectors
in <math>\left( \mathbb{Z}_{2}\right) ^{2}</math> is equivalent to multiplication of
:<math>
\left[ N\left( u+v\right) \right] =\left[ N\left( u\right) \right]
Line 160 ⟶ 204:
u\odot v\equiv zx^{\prime}-xz^{\prime}.
</math>
The
<math>\Pi</math>:
:<math>
Line 167 ⟶ 211:
</math>
The
Pauli relations in terms of [[Boolean algebra (logic)|binary algebra]].
The extension of the above definitions and mapping <math>N</math> to multiple
straightforward. Let <math>\mathbf{A}=A_{1}\otimes\cdots\otimes A_{n}</math> denote an
arbitrary element of <math>\Pi^{n}</math>. We can similarly define the phase-free
Line 179 ⟶ 223:
</math>
The [[group operation]] <math>\ast</math> for the above
:<math> \left[ \mathbf{A}\right] \ast\left[ \mathbf{B}\right] \equiv\left[
A_{1}\right] \ast\left[ B_{1}\right] \otimes\cdots\otimes\left[
Line 185 ⟶ 229:
=\left[ \mathbf{AB}\right] .
</math>
The
under operation <math>\ast</math>. Consider the <math>2n</math>-dimensional [[vector space]]
:<math>
Line 191 ⟶ 235:
:\mathbf{z},\mathbf{x}\in\left( \mathbb{Z}_{2}\right) ^{n}\right\} .
</math>
It forms the
operation <math>+</math> defined as binary vector addition. We employ the notation
<math>\mathbf{u}=\left( \mathbf{z}|\mathbf{x}\right) ,\mathbf{v}=\left(
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]]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\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}}▼
▲{{Quantum computing}}
[[Category:Linear algebra]]
[[Category:Quantum computing]]
|