Lean, informalized

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

Exercise 10.51 - The stabilizer of a quantum code built from two classical codes, and its recovery from errors on up to tt qubits

The CSS code is a stabilizer code correcting tt 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

Two classical binary linear codes C2⊆C1C_2 \subseteq C_1 of length nn give a quantum code on nn qubits, the code of Calderbank, Shor and Steane (CSS), written CSS(C1,C2)\mathrm{CSS}(C_1, C_2) and built from the cosets of C2C_2 in C1C_1. A binary linear code CC of length nn is a subspace of ℤ2n\mathbb{Z}_2^n, the strings of nn bits added modulo 2, and its dual code C⟂C^\perp consists of the strings uu with u⋅v=∑kukvk=0u \cdot v = \sum_k u_k v_k = 0 modulo 2 for every v∈Cv \in C.✦

The exercise asks first for the stabilizer: CSS(C1,C2)\mathrm{CSS}(C_1, C_2) is the stabilizer code whose stabilizer is generated by the operators applying the Pauli matrix XX (bit flip) to the qubits where a codeword of C2C_2 has a 1 and those applying the Pauli matrix ZZ (phase flip) to the qubits where a codeword of C1⟂C_1^\perp has a 1. It then asks to show that, when C1C_1 and C2⟂C_2^\perp both correct errors on up to tt bits, the quantum code corrects arbitrary errors on up to tt qubits.✦

In the second part, the errors are the tensor products of the Pauli matrices II, XX, YY, ZZ on the individual qubits, with a phase, that act other than as the identity on at most tt qubits.

Qubits and the Pauli Group

A quantum system is a physical object whose state space is a finite dimensional complex Hilbert space.✦ A pure state |ψ⟩|\psi\rangle of a system AA is a unit vector in the state space of AA✦, and a unitary UU of AA is an operator on that space with U†U=UU†=IU^\dagger U = U U^\dagger = I.✦ The register of nn qubits is the system whose state space has the computational basis {|w⟩}\{|w\rangle\} as an orthonormal basis, one vector for each bit string w∈ℤ2nw \in \mathbb{Z}_2^n.✦

The Pauli matrices are the four complex 2×22 \times 2 matrices σ0=I\sigma_0 = I and σ1=X=(0110),σ2=Y=(0−ii0),σ3=Z=(100−1).\sigma_1 = X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \qquad \sigma_2 = Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \qquad \sigma_3 = Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.(1)✦ Given indices a1,…,ana_1, \dots, a_n in {0,1,2,3}\{0, 1, 2, 3\}, one for each qubit, the Pauli string σa1⊗⋯⊗σan\sigma_{a_1} \otimes \cdots \otimes \sigma_{a_n} is the operator on nn qubits whose matrix element between the basis states |w⟩|w\rangle and |w′⟩|w'\rangle is the product ∏k(σak)wkwk′\prod_k (\sigma_{a_k})_{w_k w'_k} over the qubits.✦ The support of a Pauli string σa1⊗⋯⊗σan\sigma_{a_1} \otimes \cdots \otimes \sigma_{a_n} is the set of qubits kk with ak≠0a_k \neq 0.✦

The Pauli group GnG_n on nn qubits consists of the elements pp given by a phase power s∈ℤ4s \in \mathbb{Z}_4 and a Pauli string.✦ The matrix of pp, a 2n×2n2^n \times 2^n complex matrix with rows and columns labelled by bit strings, is the string multiplied by the phase isi^s, one of the four fourth roots of unity: p=isσa1⊗⋯⊗σan.p = i^s \, \sigma_{a_1} \otimes \cdots \otimes \sigma_{a_n}.(2)✦ The weight wt(p)\mathrm{wt}(p) of an element pp of GnG_n is the number of qubits in the support of its Pauli string, whatever its phase.✦

The CSS Code

For a bit string vv, the element XvX^v of GnG_n has phase 11 and the Pauli string with XX on each qubit kk where vk=1v_k = 1 and II on the others✦; for a bit string uu, the element ZuZ^u has phase 11 and the Pauli string with ZZ where uk=1u_k = 1.✦ On the register, XvX^v and ZuZ^u are the bit flip and phase flip strings, the unitaries with Xv|w⟩=|w+v⟩,Zu|w⟩=(−1)u⋅w|w⟩X^v |w\rangle = |w + v\rangle, \qquad Z^u |w\rangle = (-1)^{u \cdot w} |w\rangle(3) for every bit string ww.

The CSS stabilizer SS of binary linear codes C1C_1 and C2C_2 of length nn is the subgroup of GnG_n generated by the elements XvX^v with v∈C2v \in C_2 and ZuZ^u with u∈C1⟂u \in C_1^\perp.✦ For a finite subgroup SS of GnG_n, the stabilizer sum QQ is the sum of the matrices of its elements✦, and the code projector PSP_S is their average over the group, PS=Q|S|=1|S|∑s∈Ss,P_S = \frac{Q}{|S|} = \frac{1}{|S|} \sum_{s \in S} s,(4)✦ the projector onto the code space of the stabilizer code with stabilizer SS.

The check operators of C1C_1 and C2C_2 are the generators of the CSS stabilizer, taken as operators on the register’s state space. The stabilized subspace VSV_S of C1C_1 and C2C_2 is the subspace of the register’s state space made of the vectors that every check operator leaves fixed, VS={|ψ⟩:Xv|ψ⟩=Zu|ψ⟩=|ψ⟩ for all v∈C2,u∈C1⟂}.V_S = \{\, |\psi\rangle : X^v |\psi\rangle = Z^u |\psi\rangle = |\psi\rangle \text{ for all } v \in C_2,\ u \in C_1^\perp \,\}.(5)✦

Given a binary linear code C2C_2 and a bit string xx, the coset state |x+C2⟩|x + C_2\rangle is the pure state of the register with equal amplitudes on the basis states |x+y⟩|x + y\rangle, one for each codeword yy of C2C_2: |x+C2⟩=1|C2|∑y∈C2|x+y⟩.|x + C_2\rangle = \frac{1}{\sqrt{|C_2|}} \sum_{y \in C_2} |x + y\rangle.(6)✦ The CSS code space CSS(C1,C2)\mathrm{CSS}(C_1, C_2) is the subspace of the register spanned by the coset states |x+C2⟩|x + C_2\rangle with x∈C1x \in C_1.✦

The Claim

Theorem 1. Let C1C_1 and C2C_2 be binary linear codes of length nn with C2⊆C1C_2 \subseteq C_1. Then the subspace fixed by the check operators is the CSS code space: VS=CSS(C1,C2).V_S = \mathrm{CSS}(C_1, C_2).(7)✦

The second part concerns recovery. A recovery ℛ\mathcal{R} on the nn qubits is a quantum operation, a map taking every operator ρ\rho on the register to ℛ(ρ)=∑oRoρRo†\mathcal{R}(\rho) = \sum_o R_o \, \rho \, R_o^\dagger with finitely many operation elements RoR_o. A recovery ℛ\mathcal{R} corrects a set of errors on a projector PP when, after any error of the set, it restores every state in the range of PP up to normalization.

Theorem 2. Let C1C_1 and C2C_2 be binary linear codes of length nn with C2⊆C1C_2 \subseteq C_1, and suppose that C1C_1 and C2⟂C_2^\perp each correct errors on up to tt bits. Then there is a recovery ℛ\mathcal{R} with operation elements RoR_o such that ∑oRo†Ro=I,ℛ corrects {p∈Gn:wt(p)≤t} on PS,\sum_o R_o^\dagger R_o = I, \qquad \mathcal{R} \text{ corrects } \{\, p \in G_n : \mathrm{wt}(p) \le t \,\} \text{ on } P_S,(8)✦ where PSP_S is the code projector of the CSS stabilizer.

What Is Checked

The claim (7) is stated over the register of nn qubits and its computational basis, the check operators (3), the stabilized subspace (5) and the span of the coset states (6). The claim (8) is stated over the Pauli group GnG_n, with the matrices and the weights of its elements, and over the CSS stabilizer SS and its code projector (4).

The library proves that each coset state |x+C2⟩|x + C_2\rangle has unit norm, and that the bit flip strings XvX^v and the phase flip strings ZuZ^u are unitaries of the register.