Lean, informalized

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

Exercise 10.32 - Each stabilizer generator of the Steane code leaves both logical states unchanged

The six Steane generators fix both codewords.

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 Steane code encodes one qubit in seven. Its logical states |0L⟩|0_L\rangle and |1L⟩|1_L\rangle are equal superpositions of computational basis states of the seven qubits, labelled by the codewords of a classical code built from the [7,4,3][7,4,3] Hamming code. Its stabilizer has six generators: three are tensor products of Pauli XX operators and identities, the other three of Pauli ZZ operators and identities. The exercise is to check that every generator stabilizes both logical states: applied to |0L⟩|0_L\rangle or to |1L⟩|1_L\rangle, it returns the same state.

A Register of Qubits

A quantum system SS is described by its state space, a finite dimensional complex Hilbert space.✦ A unitary UU of SS is an operator on the state space of SS with U†U=UU†=1U^\dagger U = U U^\dagger = 1.✦

The register of nn qubits is the quantum system whose state space is the space of complex functions on the bit vectors w∈ℤ2nw \in \mathbb{Z}_2^n.✦ The computational basis of the register is the orthonormal basis of the states |w⟩|w\rangle, one for each bit vector ww, with |w⟩|w\rangle the function equal to 11 at ww and 00 elsewhere.✦ Bit vectors add componentwise modulo 22. The Steane code lives on the register of seven qubits.

For a bit vector v∈ℤ2nv \in \mathbb{Z}_2^n, the bit flip string Xv=Xv1⊗⋯⊗XvnX^v = X^{v_1} \otimes \cdots \otimes X^{v_n} is the unitary of the register that flips the qubits where vv has a 11, adding vv to the label of each basis state: Xv|w⟩=|w+v⟩.X^v |w\rangle = |w + v\rangle .(1)✦ For a bit vector u∈ℤ2nu \in \mathbb{Z}_2^n, the phase flip string Zu=Zu1⊗⋯⊗ZunZ^u = Z^{u_1} \otimes \cdots \otimes Z^{u_n} is the unitary of the register that is diagonal in the computational basis, with Zu|w⟩=(−1)u⋅w|w⟩,Z^u |w\rangle = (-1)^{u \cdot w} |w\rangle ,(2)✦ where u⋅w=∑jujwju \cdot w = \sum_j u_j w_j modulo 22.

The Generators

The parity check matrix HH is the 3×73 \times 7 matrix over ℤ2\mathbb{Z}_2 whose jjth column is the binary numeral of jj, most significant bit on top; it is the parity check matrix of the [7,4,3][7,4,3] Hamming code, defined in the section on the logical states: H=(000111101100111010101).H = \begin{pmatrix} 0&0&0&1&1&1&1 \\ 0&1&1&0&0&1&1 \\ 1&0&1&0&1&0&1 \end{pmatrix} .(3)✦ Its rows h1,h2,h3h_1, h_2, h_3 are bit vectors in ℤ27\mathbb{Z}_2^7.

The XX type generators g1,g2,g3g_1, g_2, g_3 of the Steane code are the bit flip strings of the rows of HH, gi=Xhi,i=1,2,3,g_i = X^{h_i}, \qquad i = 1, 2, 3,(4)✦ and the ZZ type generators g4,g5,g6g_4, g_5, g_6 are the phase flip strings of the same rows, gi+3=Zhi,i=1,2,3.g_{i+3} = Z^{h_i}, \qquad i = 1, 2, 3.(5)✦ Together, the XX type first, they are the six stabilizer generators of the Steane code.✦ Writing IIIXXXXIIIXXXX for I⊗I⊗I⊗X⊗X⊗X⊗XI \otimes I \otimes I \otimes X \otimes X \otimes X \otimes X, and so on, they read g1=IIIXXXX,g2=IXXIIXX,g3=XIXIXIX,g4=IIIZZZZ,g5=IZZIIZZ,g6=ZIZIZIZ.\begin{aligned} g_1 &= IIIXXXX, & g_2 &= IXXIIXX, & g_3 &= XIXIXIX, \\ g_4 &= IIIZZZZ, & g_5 &= IZZIIZZ, & g_6 &= ZIZIZIZ. \end{aligned}(6)✦

The Logical States

The Hamming code C1C_1 is the binary linear code of length seven whose codewords are the bit vectors xx with Hx=0Hx = 0. The dual Hamming code C2=C1⟂C_2 = C_1^\perp is the binary linear code of length seven made of the bit vectors yy with x⋅y=0x \cdot y = 0 for every codeword xx of C1C_1.✦

A pure state |ψ⟩|\psi\rangle of a quantum system SS is a unit vector in the state space of SS, determined physically up to a global phase.✦

For a binary linear code CC of length nn and a bit vector x∈ℤ2nx \in \mathbb{Z}_2^n, the coset state |x+C⟩|x + C\rangle is the pure state of the register of nn qubits that superposes with equal amplitudes the basis states |x+y⟩|x + y\rangle, one for each codeword yy of CC: |x+C⟩=1|C|∑y∈C|x+y⟩,|x + C\rangle = \frac{1}{\sqrt{|C|}} \sum_{y \in C} |x + y\rangle ,(7)✦ where |C||C| is the number of codewords of CC.

The logical states |0L⟩|0_L\rangle and |1L⟩|1_L\rangle of the Steane code are the coset states of C2C_2 at the zero vector and at the vector of seven ones: |0L⟩=|0000000+C2⟩,|0_L\rangle = |0000000 + C_2\rangle ,(8)✦ |1L⟩=|1111111+C2⟩.|1_L\rangle = |1111111 + C_2\rangle .(9)✦

The Claim

A pure state |ψ⟩|\psi\rangle of a quantum system SS is an eigenstate of a unitary UU of SS with eigenvalue μ∈ℂ\mu \in \mathbb{C} when U|ψ⟩=μ|ψ⟩U|\psi\rangle = \mu\,|\psi\rangle.✦

Theorem 1. Let g1,…,g6g_1, \dots, g_6 be the stabilizer generators (6) of the Steane code, and |0L⟩|0_L\rangle and |1L⟩|1_L\rangle its logical states. For each i=1,…,6i = 1, \dots, 6, both logical states are eigenstates of gig_i with eigenvalue 11: gi|0L⟩=|0L⟩,g_i |0_L\rangle = |0_L\rangle ,(10)✦ gi|1L⟩=|1L⟩.g_i |1_L\rangle = |1_L\rangle .(11)✦

What Is Checked

The claim is stated over the six generators (6), unitaries of the register of seven qubits obtained from the rows of HH by (4) and (5), and over the logical states (8) and (9), coset states of the dual Hamming code C2C_2.

The library proves that the bit flip and phase flip strings are unitaries. It proves that each coset state |x+C⟩|x + C\rangle has unit norm, the basis states |x+y⟩|x + y\rangle being distinct for distinct codewords yy and each weighted by 1/|C|1/\sqrt{|C|}.