The five-qubit error correcting code or the [[5,1,3]] code, is the smallest quantum error correcting code that can protect a logical qubit from any arbitrary single qubit error.[1] In this code, 5 physical qubits are used to encode the logical qubit.[2] With X {\displaystyle X} and Z {\displaystyle Z} being Pauli matrices and I {\displaystyle I} the Identity matrix, this code's generators are ⟨ X Z Z X I , I X Z Z X , X I X Z Z , Z X I X Z ⟩ {\displaystyle \langle XZZXI,IXZZX,XIXZZ,ZXIXZ\rangle } . Its logical operators are X ¯ = X X X X X {\displaystyle {\bar {X}}=XXXXX} and Z ¯ = Z Z Z Z Z {\displaystyle {\bar {Z}}=ZZZZZ} .[3] Once the logical qubit is encoded, errors on the physical qubits can be detected via stabilizer measurements. A lookup table that maps the results of the stabilizer measurements to the types and locations of the errors gives the control system of the quantum computer enough information to correct errors.[4]
Peter Shor original quantum error correcting code of 1995, used 9 qubits. The five-qubit error correcting code was published independently by two groups in 1996: by Raymond Laflamme, Cesar Miquel, Juan Pablo Paz, Wojciech H. Zurek.[5] and by Charles H. Bennett, David DiVincenzo, John A. Smolin and William Wootters.[6]
Stabilizer measurements are parity measurements that measure the stabilizers of physical qubits.[7] For example, to measure the first stabilizer ( X Z Z X I {\displaystyle XZZXI} ), a parity measurement of X {\displaystyle X} of the first qubit, Z {\displaystyle Z} on the second, Z {\displaystyle Z} on the third, X {\displaystyle X} on the fourth, and I {\displaystyle I} on the fifth is performed. Since there are four stabilizers, 4 ancillas will be used to measure them. The first 4 qubits in the image above are the ancillas. The resulting bits from the ancillas is the syndrome; which encodes the type of error that occurred and its location.
A logical qubit can be measured in the computational basis by performing a parity measurement on Z ¯ {\displaystyle {\bar {Z}}} . If the measured ancilla is 0 {\displaystyle 0} , the logical qubit is | 0 L ⟩ {\displaystyle |0_{\rm {L}}\rangle } . If the measured ancilla is 1 {\displaystyle 1} , the logical qubit is | 1 L ⟩ {\displaystyle |1_{\rm {L}}\rangle } .[8]
It is possible to compute all the single qubit errors that can occur and how to correct them. This is done by calculating what errors commute with the stabilizers.[4] For example, if there is an X {\displaystyle X} error on the first qubit and no errors on the others ( X 1 = X I I I I {\displaystyle X_{1}=XIIII} ), it commutes with the first stabilizer [ X I I I I , X Z Z X I ] = 0 {\displaystyle [XIIII,XZZXI]=0} . This means that if an X error occurs on the first qubit, the first ancilla qubit will be 0. The second ancilla qubit: [ X I I I I , I X Z Z X ] = 0 {\displaystyle [XIIII,IXZZX]=0} , the third: [ X I I I I , X I X Z Z ] = 0 {\displaystyle [XIIII,XIXZZ]=0} and the fourth [ X I I I I , Z X I X Z ] ≠ 0 {\displaystyle [XIIII,ZXIXZ]\neq 0} . So if an X error occurs on the first qubit, the syndrome will be 0001 {\displaystyle 0001} ; which is shown in the table below, to the right of X 1 {\displaystyle X_{1}} . Similar calculations are realized for all other possible errors to fill out the table.
To correct an error, the same operation is performed on the physical qubit based on its syndrome. If the syndrome is 0001 {\displaystyle 0001} , an X {\displaystyle X} gate is applied to the first qubit to reverse the error.
The first step in executing error corrected quantum computation is to encode the computer's initial state by transforming the physical qubits into logical codewords. The logical codewords for the five qubit code are
Stabilizer measurements followed by a Z ¯ {\displaystyle {\bar {Z}}} measurement can be used to encode a logical qubit into 5 physical qubits.[9] To prepare | 0 L ⟩ {\displaystyle |0_{\rm {L}}\rangle } , perform stabilizer measurements and apply error correction. After error correction, the logical state is guaranteed to be a logical codeword. If the result of measuring Z ¯ {\displaystyle {\bar {Z}}} is 0 {\displaystyle 0} , the logical state is | 0 L ⟩ {\displaystyle |0_{\rm {L}}\rangle } . If the result is 1 {\displaystyle 1} , the logical state is | 1 L ⟩ {\displaystyle |1_{\rm {L}}\rangle } and applying X ¯ {\displaystyle {\bar {X}}} will transform it into | 0 L ⟩ {\displaystyle |0_{\rm {L}}\rangle } .