Lean, informalized

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

Exercise 10.15 - Adding one column of a matrix to another does not change its image

Column addition leaves a linear code unchanged.

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 classical linear code encodes kk bits into nn bits. Its generator matrix GG is an n×kn \times k matrix with entries in ℤ2\mathbb{Z}_2: a message xx of kk bits is encoded as the codeword GxGx, and the code is the set of all codewords. Exercise 10.15 is to show that adding one column of GG to another gives a generator matrix of the same code.

Column Addition

Let MM be a matrix with entries in a set carrying an addition, its rows labelled by some set and its columns by a set CC. For columns ii and jj of MM, the matrix M(i→j)M^{(i\to j)} obtained by adding column ii to column jj is the matrix of the same shape whose column jj is the sum of columns jj and ii of MM and whose other columns are those of MM: Mab(i→j)={Maj+Mai,b=j,Mab,b≠j.M^{(i\to j)}_{ab} = \begin{cases} M_{aj} + M_{ai}, & b = j,\\ M_{ab}, & b \neq j. \end{cases}(1)✦

The Claim

The image of a matrix MM with entries in a commutative ring RR and columns labelled by a finite set CC is the set of vectors MxMx for xx in RCR^C, the space of column vectors with one entry in RR for each column of MM.

Theorem 1. Let RR be a commutative ring and MM a matrix over RR whose columns are labelled by a finite set CC. For any two distinct columns ii and jj of MM, adding column ii to column jj leaves the image unchanged: {M(i→j)x:x∈RC}={Mx:x∈RC}.\{\, M^{(i\to j)} x : x \in R^C \,\} = \{\, M x : x \in R^C \,\}.(2)✦

With R=ℤ2R = \mathbb{Z}_2 and M=GM = G this is the exercise.

What Is Checked

The claim is stated over the matrix M(i→j)M^{(i\to j)} of (1). What the library proves about this construction is (2), for any two distinct columns.