Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Stabilizer code

From Wikipedia, the free encyclopedia
Quantum error correction code
This articlemay be too technical for most readers to understand. Pleasehelp improve it tomake it understandable to non-experts, without removing the technical details.(April 2022) (Learn how and when to remove this message)

Inquantum computing andquantum communication, astabilizer code is a class of quantumcodes for performingquantum error correction. Thetoric code, andsurface 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 thefive-qubit error correcting code.

Stabilizer codes are strikingly similar to classicallinear block codes in their operation and performance. Just as a classical linear block code can be defined by itsparity-check matrix, a quantum stabilizer code also has a "parity check" structure defined by itsstabilizers. However, stabilizers for an-qubit code aren-qubit Pauli operators instead of classicaln-bit strings, and they must allcommute 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 thedual-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. Theentanglement-assisted stabilizer formalism can also overcome this difficulty.

Definition

[edit]

The stabilizer formalism is based then-qubit Pauli groupΠn, and extensively uses the facts thatHermitian operators (ones with scalar factors±1 instead of±i) inΠn haveeigenvalues±1{\displaystyle \pm 1}, and that two operators inΠn eithercommute oranti-commute.

Astabilizer of a stabilizer code withn physical qubits is ann-qubit Pauli operatorP ∈ Πn such that all valid code states|ψ{\displaystyle |\psi \rangle } lie in the+1-eigenspace ofP, i.e.,P|ψ=|ψ{\displaystyle P|\psi \rangle =|\psi \rangle }. A stabilizer code is defined by its stabilizers in the sense that the converse is also true: A state|ψ{\displaystyle |\psi \rangle } is a valid code state for the stabilizer code if and only ifP|ψ=|ψ{\displaystyle P|\psi \rangle =|\psi \rangle } holds for each stabilizerP. Therefore the simultaneous+1-eigenspace of the stabilizers constitutes thecodespace of the stabilizer code.

Any two stabilizersP andQ must commute andPQ must also be a stabilizer. Therefore the stabilizers of a code form thestabilizer groupS{\displaystyle {\mathcal {S}}}, anabeliansubgroup ofΠn. Conversely, any abelian subgroup ofΠn that does not containIn{\displaystyle -I^{\otimes 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 an-qubit stabilizer code encodingk logical qubits (denoted as an[[n,k]] code), the codespace has2k dimensions, and the stabilizer groupS{\displaystyle {\mathcal {S}}} has2nk elements. Since all non-unit Hermitian elements ofΠn hasorder 2,S{\displaystyle {\mathcal {S}}} can begenerated bynk independent generators:

S=g1,,gnk.{\displaystyle {\mathcal {S}}=\left\langle g_{1},\ldots ,g_{n-k}\right\rangle .}

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 generateIn{\displaystyle -I^{\otimes n}}). They are analogous to the rows of theparity-check matrix of a classicallinear block code.

Examples

[edit]

Classical repetition code

[edit]
Main article:Repetition code

As a simple example, the 3-bit[3, 1, 3] classicalrepetition code can be regarded as a[[3, 1, 1]] quantum stabilizer code. It encodesk = 1 logical qubit inton = 3 physical qubits, and protects against a single bit-flip error (represented as a PauliX operatorXi in a quantum information context). However, since it does not protect against single-qubit phase-flip errorsZi, its code distance as a quantum code isd = 1.

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

g1=ZZIg2=IZZ{\displaystyle {\begin{array}{ccc}g_{1}&=&Z&Z&I\\g_{2}&=&I&Z&Z\\\end{array}}}

The stabilizerg1 indicates that, if the first and second qubits in a valid code state are both measured in theZ basis, the results will always be the same (i.e., the product ofZ eigenvalues will always be+1). Similarly,g2 indicates that theZ basis measurement on the second and third qubits always yield the same result. Unsurprisingly, the codespace of this code is

Span(|000,|111){\displaystyle {\text{Span}}(|000\rangle ,|111\rangle )}.

Usually, the physical state|000{\displaystyle |000\rangle } and|111{\displaystyle |111\rangle } are identified with the|0{\displaystyle |0\rangle } and|1{\displaystyle |1\rangle } states of the logical qubit respectively (often written as|0¯{\displaystyle |{\overline {0}}\rangle } and|1¯{\displaystyle |{\overline {1}}\rangle } to distinguish them from physical states). As a quantum code, the codespace also includessuperpositions of|0¯{\displaystyle |{\overline {0}}\rangle } and|1¯{\displaystyle |{\overline {1}}\rangle }, such as|+¯=|000+|111{\displaystyle |{\overline {+}}\rangle =|000\rangle +|111\rangle } and|¯=|000|111{\displaystyle |{\overline {-}}\rangle =|000\rangle -|111\rangle }. Note that a phase-flip errorZi on any one physical qubit will change|+¯{\displaystyle |{\overline {+}}\rangle } to|¯{\displaystyle |{\overline {-}}\rangle }, and vice versa.

Five-qubit code

[edit]
Main article:Five-qubit error correcting code

An example of a stabilizer code is the five qubit[[5, 1, 3]] stabilizer code. It encodesk = 1 logical qubit inton = 5 physical qubits. Its stabilizer group hasnk = 4 generators:

g1=XZZXIg2=IXZZXg3=XIXZZg4=ZXIXZ{\displaystyle {\begin{array}{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}}}

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

Logical operators

[edit]

There are many ways to decompose a2k-dimension codespace intok logical qubits, and one way to specify such a decomposition is by giving PauliZ andX operators for each logical qubit. For stabilizer codes, there exists decompositions where these logicalZ andX operators are also elements ofΠn.

By definition, a logical operatorP must map a valid code state|ψ{\displaystyle |\psi \rangle } into a valid code stateP|ψ{\displaystyle P|\psi \rangle }. This means that for each stabilizerS,SP|ψ=P|ψ=PS|ψ{\displaystyle SP|\psi \rangle =P|\psi \rangle =PS|\psi \rangle } (the second equality holds since|ψ{\displaystyle |\psi \rangle } is itself a valid code state), which is always true whenP andS commute and never true when they anti-commute. Therefore the set of valid logical operators inΠn isC(S){\displaystyle C({\mathcal {S}})}, thecentralizer ofS{\displaystyle {\mathcal {S}}} (i.e., the subgroup of elements that commute with all members ofS{\displaystyle {\mathcal {S}}}, also known as the commutant).

However, not all these logical operators act non-trivially on the logical qubit. In particular, sinceS{\displaystyle {\mathcal {S}}} is an abelian subgroup,S{\displaystyle {\mathcal {S}}} is also contained inC(S){\displaystyle C({\mathcal {S}})}. In fact, whenSS{\displaystyle S\in {\mathcal {S}}},S|ψ=|ψ{\displaystyle S|\psi \rangle =|\psi \rangle }, meaning thatS implements the logical identity operatorIk{\displaystyle I^{\otimes k}}. Furthermore, for any other logical operatorP,PS acts identically toP on the code state, and thus they implement the same logical operator. Factoring out this equivalence gives thequotient groupC(S)/S{\displaystyle C({\mathcal {S}})/{\mathcal {S}}}, which isisomorphic toΠk. Therefore allk-qubit logical Pauli operators can be chosen to ben-qubit physical Pauli operators.

To explicitly specify the logical qubit decomposition, one usually chooses logical operatorsZ1,X1, ...,Zk,Xk ∈ Πn. Each of these operatorsZi orXi is arepresentative for the equivalence classZi¯S{\displaystyle {\overline {Z_{i}}}{\mathcal {S}}} orXi¯S{\displaystyle {\overline {X_{i}}}{\mathcal {S}}} implementing the same logical operator. These operators need to satisfy the following conditions:

  • Z1,X1, ...,Zk,Xk,g1, ...,gnk areall independent: The product of any nonempty subset of these operators cannot be a scalar multiple ofIn{\displaystyle I^{\otimes n}}.
  • AmongZ1,X1, ...,Zk,Xk,g1, ...,gnk, the only pairs that anti-commute areZi andXi for the samei. 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:

g1=ZZIg2=IZZZ¯=ZIIX¯=XXX{\displaystyle {\begin{array}{ccc}g_{1}&=&Z&Z&I\\g_{2}&=&I&Z&Z\\{\overline {Z}}&=&Z&I&I\\{\overline {X}}&=&X&X&X\end{array}}}

Other single-qubitZ operators are alternative implementations of the logicalZ operator:Z2 =Zg1,Z3 =Zg1g2. This is consistent with the above observation that any single-qubit phase-flip error changes|+¯{\displaystyle |{\overline {+}}\rangle } to|¯{\displaystyle |{\overline {-}}\rangle }, and vice versa. It is also straightforward to check that applyingX =XXX, i.e., bit-flipping all three qubits, changes|0¯{\displaystyle |{\overline {0}}\rangle } to|1¯{\displaystyle |{\overline {1}}\rangle }, and vice versa.

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

g1=XZZXIg2=IXZZXg3=XIXZZg4=ZXIXZZ¯=ZZZZZX¯=XXXXX{\displaystyle {\begin{array}{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\\{\overline {Z}}&=&Z&Z&Z&Z&Z\\{\overline {X}}&=&X&X&X&X&X\end{array}}}

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 itsuffices to correct adiscrete error set withsupport in the Pauli groupΠn{\displaystyle \Pi ^{n}}. Suppose that the errors affecting anencoded quantum state are a subsetE{\displaystyle {\mathcal {E}}} of the Pauli groupΠn{\displaystyle \Pi ^{n}}:

EΠn.{\displaystyle {\mathcal {E}}\subset \Pi ^{n}.}

BecauseE{\displaystyle {\mathcal {E}}} andS{\displaystyle {\mathcal {S}}} are both subsets ofΠn{\displaystyle \Pi ^{n}}, an errorEE{\displaystyle E\in {\mathcal {E}}} eithercommutes oranti-commutes with any particular elementSS{\displaystyle S\in {\mathcal {S}}}. IfE anti-commutes with an elementS, thenSE|ψ=ES|ψ=E|ψ{\displaystyle SE|\psi \rangle =-ES|\psi \rangle =-E|\psi \rangle } which means thatE|ψ{\displaystyle E|\psi \rangle } is in the−1-eigenspace ofS rather than the+1-eigenspace, and thusE is detectable bymeasuringS. Actually it suffices to measure each stabilizer generatorg, since ifE commutes with everyg, thenE will also commute with the product of any number of them. In this caseEC(S){\displaystyle E\in C({\mathcal {S}})} is a logical operator and thus cannot be detected by the code.

However,ES{\displaystyle E\in {\mathcal {S}}} is again a special case, whereE 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 ofES{\displaystyle E\in {\mathcal {S}}}, since aglobal phase has no physical effect. We define anundetectable logical errorE as one that is undetectable but does corrupt the encoded state, i.e.,

EC(S){+1,+i,1,i}S=C(S)C(C(S)).{\displaystyle E\in C({\mathcal {S}})\setminus \{+1,+i,-1,-i\}\otimes {\mathcal {S}}=C({\mathcal {S}})\setminus C(C({\mathcal {S}})).}

The equality above gives an alternative characterization of an undetectable logical errorE: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 generatorsZ1,X1, ...,Zk,Xk,g1, ...,gnk, instead of solving a system of linear equations to determine ifE is the product of some subset of{gi} up to global phase.

Operationally, each stabilizer generatorg can be measured via aparity measurement without disturbing states in the codespace. The combination of results of measuring eachg is known as thesyndromer{\displaystyle \mathbf {r} }, represented as a binary vectorr{\displaystyle \mathbf {r} } with lengthnk{\displaystyle n-k} whose elements indicate whether the errorE commutes or anti-commutes with each stabilizer generatorg.

When using a stabilizer code as an errorcorrection code, one must also choose a correctionE1[note 2] for each syndrome. If there exists another possible errorE2 with the same syndrome asE1, then after correction there may be a residual errorE1E2. The condition thatE2 has the same syndrome asE1 is equivalent to thatE1E2 is undetectable, i.e.,E1E2C(S){\displaystyle E_{1}^{\dagger }E_{2}\in C({\mathcal {S}})}. However, ifE1E2 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 errorsE{\displaystyle {\mathcal {E}}} as long as there does not existE1,E2E{\displaystyle E_{1},E_{2}\in {\mathcal {E}}} such thatE1E2 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 forE={I,X1,X2,X3}{\displaystyle {\mathcal {E}}=\{I,X_{1},X_{2},X_{3}\}}. Indeed, the only undetectable logical error that consists only ofI andX isXXX with weight 3, and the product of two errors inE{\displaystyle {\mathcal {E}}} . This can also be verified by explicitly checking the corrections corresponding to each syndrome:

SyndromeCorrection
+1, +1I
−1, +1X1
−1, −1X2
+1, −1X3

The five-qubit code can correct any single-qubit error, i.e., it satisfies the error-correction conditions forE={I,Xi,Yi,Zi}{\displaystyle {\mathcal {E}}=\{I,X_{i},Y_{i},Z_{i}\}} (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 the24 = 16 syndromes. For the five-qubit code again each syndrome corresponds to one error inE{\displaystyle {\mathcal {E}}}, although this is not typical for stabilizer codes: For codes like thesurface 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]
Main article:Pauli group § Binary vector representation

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

I00,X01,Y11,Z10.{\displaystyle I\to 00,\;X\to 01,\;Y\to 11,\;Z\to 10.}

This mapping mapsΠn{\displaystyle \Pi ^{n}} to vectors in(Z2)2n{\displaystyle (\mathbb {Z} _{2})^{2n}}, such that multiplication of Pauli operators is equivalent to addition of binary vectors up to a global phase. Furthermore,(Z2)2n{\displaystyle (\mathbb {Z} _{2})^{2n}} can be equipped with asymplectic algebra, such that thesymplectic 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 linearerror correction and quantum stabilizer codes more explicit. In the language ofsymplectic vector spaces, asymplectic subspace corresponds to adirect sum of Pauli algebras (i.e., encoded qubits), while anisotropic subspace corresponds to a set of stabilizers.

Notes

[edit]
  1. ^This condition implies that all members ofS{\displaystyle {\mathcal {S}}} are Hermitian, since an anti-Hermitian element ofΠn squares toIn{\displaystyle -I^{\otimes n}}.
  2. ^Although Pauli errors are allself-adjoint, here we use notations that align with the more general quantum error-correction theory.
  3. ^In most cases,E{\displaystyle {\mathcal {E}}} is defined in a way such that it includesIn{\displaystyle I^{\otimes 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

[edit]
  1. ^"What is the "surface code" in the context of quantum error correction?".Quantum Computing Stack Exchange. Retrieved2024-01-12.
General
Theorems
Quantum
communication
Quantum cryptography
Quantum algorithms
Quantum
complexity theory
Quantum
processor benchmarks
Quantum
computing models
Quantum
error correction
Physical
implementations
Quantum optics
Ultracold atoms
Spin-based
Superconducting
Quantum
programming
Retrieved from "https://en.wikipedia.org/w/index.php?title=Stabilizer_code&oldid=1332747113"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp