Lean, informalized

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

Exercise 10.62 - The generators of a concatenated stabilizer code fix a subspace of dimension two

Two concatenated stabilizer codes still encode one qubit.

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

A stabilizer code C1C_1 encodes one qubit in n1n_1 qubits, and a second code C2C_2 encodes one qubit in n2n_2. In their concatenation a qubit is first encoded by C2C_2 into n2n_2 qubits, and each of these is then encoded by C1C_1 into a block of n1n_1, so that the logical qubit is carried by n1n2n_1 n_2 qubits in n2n_2 blocks. The exercise is to show that the concatenated code again encodes one qubit.✦

The library states this for any two such codes, each given with its generators and a pair of logical operators.

Pauli Strings

The Pauli matrices are the four complex 2×22 \times 2 matrices σ0=I=(1001),σ1=X=(0110),σ2=Y=(0−ii0),σ3=Z=(100−1).\sigma_0 = I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, \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)✦ The XX bit x(σ)x(\sigma) of a Pauli matrix σ\sigma is 11 for XX and YY and 00 for II and ZZ✦; its ZZ bit z(σ)z(\sigma) is 11 for YY and ZZ and 00 for II and XX.✦ The two bits form the binary representation of σ\sigma, and up to a phase σ=Xx(σ)Zz(σ)\sigma = X^{x(\sigma)} Z^{z(\sigma)}. With phases dropped, the product of two Pauli matrices is again one of the four: each squares to II, and the product of two different ones among XX, YY, ZZ is the third.✦

A Pauli string on nn qubits is the operator σp1⊗⋯⊗σpn\sigma_{p_1} \otimes \cdots \otimes \sigma_{p_n} on the nn qubits given by a choice of one Pauli matrix σpk\sigma_{p_k} for each qubit kk, with no phase in front. Two Pauli strings are multiplied qubit by qubit, with phases dropped as above.✦

Stabilizer Codes

The subspace VSV_S stabilized by a family S=(g1,…,gm)S = (g_1, \dots, g_m) of Pauli strings on nn qubits is the subspace of the state space of the nn qubits formed by the vectors that every gig_i leaves invariant, the intersection of their +1+1 eigenspaces: VS={|ψ⟩:gi|ψ⟩=|ψ⟩ for i=1,…,m}.V_S = \{\, |\psi\rangle : g_i |\psi\rangle = |\psi\rangle \text{ for } i = 1, \dots, m \,\}.(2)✦

An [n,1][n, 1] stabilizer code CC on nn qubits is a family of n−1n - 1 Pauli strings g1,…,gn−1g_1, \dots, g_{n-1} on the nn qubits, its generators, together with two Pauli strings X‾\bar X and Z‾\bar Z, its logical operators, such that gigj=gjgi,X‾gi=giX‾,Z‾gi=giZ‾,X‾Z‾=−Z‾X‾g_i g_j = g_j g_i, \qquad \bar X g_i = g_i \bar X, \qquad \bar Z g_i = g_i \bar Z, \qquad \bar X \bar Z = -\bar Z \bar X(3)✦ for all ii and jj, and such that the generators are independent: the rows of their check matrix, which hold the XX and ZZ bits of the factors of each generator, are linearly independent modulo 22.

The Concatenated Code

Let C1C_1 be an [n1,1][n_1, 1] code with generators g1,…,gn1−1g_1, \dots, g_{n_1 - 1} and logical operators X‾\bar X and Z‾\bar Z, and let C2C_2 be an [n2,1][n_2, 1] code with generators g1′,…,gn2−1′g'_1, \dots, g'_{n_2 - 1}. The encoded version of a Pauli matrix σ\sigma under C1C_1 is the Pauli string on n1n_1 qubits σ‾=X‾x(σ)Z‾z(σ),\bar\sigma = \bar X^{x(\sigma)} \bar Z^{z(\sigma)},(4)✦ with the phase dropped, so that I‾=I⊗n1\bar I = I^{\otimes n_1} and Y‾\bar Y is the product of X‾\bar X and Z‾\bar Z.

The qubit (b,q)(b, q) of the concatenated code is the qqth qubit of block bb, for 1≤b≤n21 \le b \le n_2 and 1≤q≤n11 \le q \le n_1; the qubits are numbered block by block, the qubit qq of block bb receiving the number (b−1)n1+q(b-1)\,n_1 + q, so that they run from 11 to n1n2n_1 n_2. The generators of the concatenated code of C1C_1 and C2C_2 are labelled by the index set ℐ=({1,…,n2}×{1,…,n1−1})⊔{1,…,n2−1},|ℐ|=n2(n1−1)+n2−1=n1n2−1,\mathcal I = \bigl(\{1, \dots, n_2\} \times \{1, \dots, n_1 - 1\}\bigr) \sqcup \{1, \dots, n_2 - 1\}, \qquad |\mathcal I| = n_2 (n_1 - 1) + n_2 - 1 = n_1 n_2 - 1,(5) For 1≤b≤n21 \le b \le n_2 and 1≤a≤n1−11 \le a \le n_1 - 1 the generator G(b,a)G_{(b, a)} places gag_a on block bb, and for 1≤j≤n2−11 \le j \le n_2 - 1, with gj′=σp1⊗⋯⊗σpn2g'_j = \sigma_{p_1} \otimes \cdots \otimes \sigma_{p_{n_2}}, the generators are G(b,a)=I⊗n1⊗⋯⊗ga⏟block b⊗⋯⊗I⊗n1,Gj=σp1¯⊗⋯⊗σpn2¯.G_{(b, a)} = I^{\otimes n_1} \otimes \cdots \otimes \underbrace{g_a}_{\text{block } b} \otimes \cdots \otimes I^{\otimes n_1}, \qquad G_j = \overline{\sigma_{p_1}} \otimes \cdots \otimes \overline{\sigma_{p_{n_2}}}.(6) With the qubits numbered as above, each GcG_c with c∈ℐc \in \mathcal I, that is G(b,a)G_{(b, a)} or GjG_j, is a Pauli string on n1n2n_1 n_2 qubits.

An enumeration ι\iota of the index set ℐ\mathcal I is a bijection ι:ℐ→{1,…,n1n2−1},\iota : \mathcal I \to \{1, \dots, n_1 n_2 - 1\},(7)✦ and numbered by one, the generators of the concatenated code are hr=Gι−1(r),r=1,…,n1n2−1.h_r = G_{\iota^{-1}(r)}, \qquad r = 1, \dots, n_1 n_2 - 1.(8)✦

The Claim

Theorem 1. Let C1C_1 be an [n1,1][n_1, 1] stabilizer code and C2C_2 an [n2,1][n_2, 1] stabilizer code, and let S=(h1,…,hn1n2−1)S = (h_1, \dots, h_{n_1 n_2 - 1}) be the generators (8) of their concatenation. Then the subspace of the n1n2n_1 n_2 qubits stabilized by SS has dimension two: dim⁡ℂVS=2.\dim_{\mathbb C} V_S = 2.(9)✦

What Is Checked

The claim is stated over the stabilized subspace (2) of the generators hrh_r of (8), which are built from two [n,1][n, 1] stabilizer codes through the encoded Paulis (4) and the enumeration (7). About these constructions the library proves the count of generators in (5).