Lean, informalized

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

Exercise 10.55 - The encoded XX read off the standard form generators, and the bit flips that exchange the logical states

The Steane code’s logical XX from its standard form.

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 stabilizer has six generators, Pauli strings on the seven qubits, and brought to a standard form, which here takes a relabelling of the qubits, they give the logical operators of the code directly. The exercise asks for the logical XX that the standard form gives, an operator fixed by two columns of three bits, called EE and CC, read off the generators, and asks that it act on the code as a logical XX should, exchanging the two logical states.

Seven Qubits

A quantum system SS is a physical system whose state space is a finite dimensional complex Hilbert space.✦ A pure state ψ\psi of SS is a unit vector in the state space of SS.✦ 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, and it carries a pure state ψ\psi of SS to the pure state UψU\psi.✦

The register of nn qubits is the system whose state space is ℂ[ℤ2n]\mathbb{C}[\mathbb{Z}_2^n], the space of complex functions on the bit strings ww of length nn✦, with one computational basis vector |w⟩|w\rangle for each ww; these vectors form an orthonormal basis.✦ For a bit string vv of length nn, the bit flip string Xv=Xv1⊗⋯⊗XvnX^v = X^{v_1} \otimes \cdots \otimes X^{v_n}, with XX the Pauli operator of one qubit that exchanges |0⟩|0\rangle and |1⟩|1\rangle, is the unitary of the register that flips the qubits where vv has a 11, sending |w⟩|w\rangle to |w+v⟩|w + v\rangle.✦

The Steane Code

The [7,4,3][7,4,3] Hamming code is defined by its parity check matrix HH, the binary matrix with three rows and seven columns whose jjth column is the binary numeral of jj, most significant bit on top: 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}.(1) The Hamming code CC is the linear code of the words x∈ℤ27x \in \mathbb{Z}_2^7 with Hx=0Hx = 0, and the dual Hamming code C2C_2 is its dual code C⟂C^\perp, a [7,3][7,3] code with eight codewords.

For a binary linear code DD of length nn and a word x∈ℤ2nx \in \mathbb{Z}_2^n, the coset state |x+D⟩|x + D\rangle is the pure state of the register of nn qubits |x+D⟩=1|D|∑y∈D|x+y⟩.|x + D\rangle = \frac{1}{\sqrt{|D|}} \sum_{y \in D} |x + y\rangle .(2)✦ The logical states of the Steane code are the coset states of C2C_2 at the zero word and at the word of all ones: |0L⟩=18∑y∈C2|y⟩,|1L⟩=18∑y∈C2|1111111+y⟩.|0_L\rangle = \frac{1}{\sqrt 8} \sum_{y \in C_2} |y\rangle , \qquad |1_L\rangle = \frac{1}{\sqrt 8} \sum_{y \in C_2} |1111111 + y\rangle .(3)

The Standard Form

A single qubit Pauli has two check bits, its XX bit and its ZZ bit: (0,0)(0,0) for II, (1,0)(1,0) for XX, (1,1)(1,1) for YY and (0,1)(0,1) for ZZ.✦ The check row r(g)=(x(g)|z(g))r(g) = (x(g) \,|\, z(g)) of a Pauli string gg on nn qubits is the pair of binary vectors of length nn whose kkth entries are the XX bit and the ZZ bit of the Pauli that gg places on qubit kk.

In standard form the six generators of the Steane code are g1=XIIIXXX,g4=ZIZZIIZ,g2=IXIXIXX,g5=IZZIZIZ,g3=IIXXXXI,g6=ZZZIIZI,\begin{aligned} g_1 &= X\,I\,I\,I\,X\,X\,X, & g_4 &= Z\,I\,Z\,Z\,I\,I\,Z, \\ g_2 &= I\,X\,I\,X\,I\,X\,X, & g_5 &= I\,Z\,Z\,I\,Z\,I\,Z, \\ g_3 &= I\,I\,X\,X\,X\,X\,I, & g_6 &= Z\,Z\,Z\,I\,I\,Z\,I, \end{aligned}(4)✦ with the XX parts of g1,g2,g3g_1, g_2, g_3 forming the identity on the first three qubits and the ZZ parts of g4,g5,g6g_4, g_5, g_6 the identity on the next three. The column CC of the standard form holds the ZZ bits of g1,g2,g3g_1, g_2, g_3 on the seventh qubit, and the column EE those of g4,g5,g6g_4, g_5, g_6: C=(z(g1)7,z(g2)7,z(g3)7)T=(0,0,0)T,C = \bigl(z(g_1)_7,\, z(g_2)_7,\, z(g_3)_7\bigr)^T = (0, 0, 0)^T,(5)✦ E=(z(g4)7,z(g5)7,z(g6)7)T=(1,1,0)T.E = \bigl(z(g_4)_7,\, z(g_5)_7,\, z(g_6)_7\bigr)^T = (1, 1, 0)^T.(6)✦ For two columns EE and CC of three bits, the standard form prescribes for the logical XX the check row r‾(E,C)=(0,0,0,E1,E2,E3,1|C1,C2,C3,0,0,0,0).\bar r(E, C) = \bigl(0, 0, 0, E_1, E_2, E_3, 1 \,\big|\, C_1, C_2, C_3, 0, 0, 0, 0\bigr).(7)✦ The logical XX of the Steane code in standard form is the Pauli string X‾=IIIXXIX=X4X5X7.\bar X = I\,I\,I\,X\,X\,I\,X = X_4 X_5 X_7 .(8)✦

The standard form numbers the qubits differently from the Hamming code. The relabelling is the permutation σ=(67)(34)(14),\sigma = (6\;7)\,(3\;4)\,(1\;4),(9)✦ composed from the right, which sends 1,2,…,71, 2, \dots, 7 to 3,2,4,1,5,7,63, 2, 4, 1, 5, 7, 6: qubit kk in the ordering of the Hamming code is qubit σ(k)\sigma(k) of the standard form. In that ordering X‾\bar X becomes the Pauli string X‾′\bar X' that places on each qubit kk the Pauli that X‾\bar X places on qubit σ(k)\sigma(k): X‾′=IIXIXXI=X3X5X6.\bar X' = I\,I\,X\,I\,X\,X\,I = X_3 X_5 X_6 .(10)✦ The support word vv of X‾′\bar X' is the XX part of its check row, v=x(X‾′)=0010110,v = x(\bar X') = 0010110,(11) and as an operator on the register of seven qubits X‾′\bar X' is the bit flip string XvX^v.✦

The Claim

Theorem 1. The logical XX of the Steane code in standard form, X‾=X4X5X7\bar X = X_4 X_5 X_7, has the check row that the columns EE and CC of the standard form prescribe: r(X‾)=r‾(E,C).r(\bar X) = \bar r(E, C).(12)✦ Relabelled to the ordering of the Hamming code, as X‾′=Xv\bar X' = X^v, it exchanges the two logical states: X‾′|1L⟩=|0L⟩,\bar X' |1_L\rangle = |0_L\rangle ,(13)✦ X‾′|0L⟩=|1L⟩.\bar X' |0_L\rangle = |1_L\rangle .(14)✦

What Is Checked

The claim is stated over the six generators (4), the columns CC and EE read off them and the check row of the Pauli string X4X5X7X_4 X_5 X_7; its action on the code is stated over the bit flip string XvX^v of the support word (11) and over the logical states (3).