Lean, informalized

Nielsen & Chuang · Chapter 10, Quantum error-correction · p. 469

Exercise 10.49 - Four stabilizer generators, sixteen Pauli errors and one recovery that corrects them

The five qubit code corrects single qubit Pauli errors.

Hover over a blue or green term in the text, or a node in the graph, to find it in the other. Select it to read its declaration both in Lean and in words.

The Exercise

The five qubit code is a stabilizer code: its code space is the space of states of five qubits left fixed by every element of a group SS of Pauli operators, the stabilizer, which is generated by four tensor products of Pauli matrices. An error acts on at most one qubit, as a Pauli XX, YY or ZZ there; with the case of no error, that makes sixteen errors. The exercise is to show that the code corrects all of them: one recovery operation, applied without knowing which error occurred, returns every encoded state.

The Pauli Group

The Pauli matrices are the four complex 2×22 \times 2 matrices σ0=I,σ1=X=(0110),σ2=Y=(0−ii0),σ3=Z=(100−1).\sigma_0 = I, \quad \sigma_1 = X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad \sigma_2 = Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \quad \sigma_3 = Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.(1)✦

For a choice aa of one Pauli matrix σak\sigma_{a_k} for each qubit kk of nn qubits, the Pauli string σa\sigma_a is the operator on the nn qubits σa=σa1⊗σa2⊗⋯⊗σan,\sigma_a = \sigma_{a_1} \otimes \sigma_{a_2} \otimes \cdots \otimes \sigma_{a_n},(2)✦ a 2n×2n2^n \times 2^n matrix with rows and columns labelled by the bit strings in {0,1}n\{0,1\}^n.

The Pauli group GnG_n on nn qubits consists of the operators p=isσa,p = i^s \sigma_a,(3)✦ for a phase power ss, an integer modulo 44, and a Pauli string aa on nn qubits.

The stabilizer sum QQ of a finite subgroup SS of GnG_n is the sum of the matrices of all its elements✦, and the code projector PSP_S of SS is their average: Q=∑g∈Sg,PS=1|S|Q.Q = \sum_{g \in S} g, \qquad P_S = \frac{1}{|S|}\, Q .(4)✦ When SS is the stabilizer of a code, PSP_S is the projector onto its code space VSV_S.

The Five Qubit Code

The generators of the stabilizer of the five qubit code are built from the four Pauli strings of Figure 10.12, each written by the letters of its matrices, qubit 11 first: a(1)=XZZXI,a(2)=IXZZX,a(3)=XIXZZ,a(4)=ZXIXZ.a^{(1)} = XZZXI, \quad a^{(2)} = IXZZX, \quad a^{(3)} = XIXZZ, \quad a^{(4)} = ZXIXZ.(5) The generator gkg_k is the element of G5G_5 with phase power 00 and string a(k)a^{(k)}, gk=σa(k),k=1,2,3,4,g_k = \sigma_{a^{(k)}}, \qquad k = 1, 2, 3, 4,(6)✦ and the stabilizer SS of the code is the subgroup of G5G_5 the four generate, S=⟨g1,g2,g3,g4⟩.S = \langle g_1, g_2, g_3, g_4 \rangle .(7)✦ The code projector PSP_S of the stabilizer SS is the 32×3232 \times 32 matrix (4) for this SS.

The errors on the five qubits are the sixteen elements E0,…,E15E_0, \dots, E_{15} of G5G_5, all of phase power 00: the identity, and on each qubit jj the three Pauli matrices acting on that qubit alone, E0=I,E3j−2=Xj,E3j−1=Yj,E3j=Zj,j=1,…,5,E_0 = I, \qquad E_{3j-2} = X_j, \quad E_{3j-1} = Y_j, \quad E_{3j} = Z_j, \qquad j = 1, \dots, 5,(8)✦ where XjX_j is the Pauli string with XX on qubit jj and II on the other four, and likewise YjY_j and ZjZ_j.

The Claim

A recovery ℛ\mathcal{R} on the five qubits is a quantum operation, ℛ(ρ)=∑oRoρRo†\mathcal{R}(\rho) = \sum_o R_o \rho R_o^\dagger, given by finitely many operation elements RoR_o, operators on the 3232 dimensional state space of the five qubits. The recovery ℛ\mathcal{R} corrects an error EE on the code space VSV_S when, applied after EE, it returns every encoded state.

Theorem 1. Let SS be the stabilizer (7) of the five qubit code, PSP_S its code projector onto the code space VSV_S, and E0,…,E15E_0, \dots, E_{15} the errors (8). Then there is a recovery ℛ\mathcal{R} on the five qubits whose operation elements satisfy ∑oRo†Ro=I\sum_o R_o^\dagger R_o = I(9)✦ and which corrects the errors EiE_i on VSV_S.

What Is Checked

The claim is stated over the code projector (4) of the stabilizer (7), with its generators (6) taken from the strings (5), and over the matrices (3) of the errors (8).