Skip to Content
CSE5313CSE5313 Coding and information theory for data science (Recitation 11)

CSE5313 Coding and information theory for data science (Recitation 10)

Question 5

Prove the minimum distance of Reed-Muller code RM(r,m)RM(r,m) is 2m−r2^{m-r}.

n=2mn=2^m.

Recall that the definition of RM code is:

RM⁡(r,m)={(f(α1),…,f(α2m))∣αi∈F2m,deg⁡f≤r}\operatorname{RM}(r,m)=\left\{(f(\alpha_1),\ldots,f(\alpha_2^m))|\alpha_i\in \mathbb{F}_2^m,\deg f\leq r\right\}

Example of RM code

Let r=0r=0, it is the repetition code.

dim⁡RM⁡(r,m)=∑i=0r(mi)\dim \operatorname{RM}(r,m)=\sum_{i=0}^{r}\binom{m}{i}.

Here r=0r=0, so dim⁡RM⁡(0,m)=1\dim \operatorname{RM}(0,m)=1.

So the minimum distance of RM(0,m)RM(0,m) is 2m−0=n2^{m-0}=n.


Let r=mr=m,

then dim⁡RM⁡(r,m)=∑i=0r(mi)=2m\dim \operatorname{RM}(r,m)=\sum_{i=0}^{r}\binom{m}{i}=2^m. (binomial theorem)

So the generator matrix is n×nn\times n

So the minimum distance of RM(m,m)RM(m,m) is 2m−m=12^{m-m}=1.

Then we can do the induction on rr.

Assume the minimum distance of RM(r′,m′)RM(r',m') is 2m′−r′2^{m'-r'} for all 0≤r′≤r0\leq r'\leq r, r′≤m′<m−1r'\leq m'<m-1.

Then we need to show that the minimum distance of RM(r,m)RM(r,m) is 2m−r2^{m-r}.

Proof

Recall that the polynomial p(x1,x2,…,xm)p(x_1,x_2,\ldots,x_m) can be written as p(x1,x2,…,xm)=∑S⊆[m],∣S∣≤rfsXsp(x_1,x_2,\ldots,x_m)=\sum_{S\subseteq [m],|S|\leq r}f_s X_s, where fs∈F2f_s\in \mathbb{F}_2, the monomial Xs=∏i∈SxiX_s=\prod_{i\in S}x_i.

Every monomial f(x1,x2,…,xm)f(x_1,x_2,\ldots,x_m) can be written as

p(x1,x2,…,xm)=∑S⊆[m],∣S∣≤rfsXs=g(x1,x2,…,xm−1)+xmh(x1,x2,…,xm−1)\begin{aligned} p(x_1,x_2,\ldots,x_m)&=\sum_{S\subseteq [m],|S|\leq r}f_s X_s\\ &=g(x_1,x_2,\ldots,x_{m-1})+x_m h(x_1,x_2,\ldots,x_{m-1})\\ \end{aligned}

So g(x1,x2,…,xm−1)g(x_1,x_2,\ldots,x_{m-1}) has degree at most rr and does not contain xmx_m.

And xmh(x1,x2,…,xm−1)x_m h(x_1,x_2,\ldots,x_{m-1}) has degree at most r−1r-1 and contains xmx_m.

Note that the codeword of RM(r,m)RM(r,m) is the truth table of some monomial evaluated at all 2m2^m αi∈F2m\alpha_i\in \mathbb{F}_2^m.

And the minimum distance of RM(r,m)RM(r,m) is the minimum hamming weight for linear code, which is the number of αi\alpha_i such that f(αi)=1f(\alpha_i)=1

Then we can defined the weight of ff to be all αi\alpha_i such that f(αi)=1f(\alpha_i)=1.

wt⁡(f)={αi∣f(αi)=1}\operatorname{wt}(f)=\{\alpha_i|f(\alpha_i)=1\}

Note that g(x1,x2,…,xm−1)g(x_1,x_2,\ldots,x_{m-1}) is a RM(r,m−1)RM(r,m-1) and h(x1,x2,…,xm−1)h(x_1,x_2,\ldots,x_{m-1}) is a RM(r−1,m−1)RM(r-1,m-1).

If xm=0x_m=0, then f(αi)=g(αi)f(\alpha_i)=g(\alpha_i). If xm=1x_m=1, then f(αi)=g(αi)+h(αi)f(\alpha_i)=g(\alpha_i)+h(\alpha_i).

So wt⁡(f)=wt⁡(g)∪wt⁡(g+h)\operatorname{wt}(f)=\operatorname{wt}(g)\cup\operatorname{wt}(g+h).

Note that wt⁡(g+h)\operatorname{wt}(g+h) is the number of αi\alpha_i such that g(αi)+h(αi)=1g(\alpha_i)+h(\alpha_i)=1, which is XOR in binary field.

So wt⁡(g+h)=(wt⁡(g)∖wt⁡(h))∪(wt⁡(h)∖wt⁡(g))\operatorname{wt}(g+h)=(\operatorname{wt}(g)\setminus\operatorname{wt}(h))\cup (\operatorname{wt}(h)\setminus\operatorname{wt}(g)).

So

∣wt⁡(f)∣=∣wt⁡(g)∣+∣wt⁡(g+h)∣=∣wt⁡(g)∣+∣wt⁡(g)∖wt⁡(h)∣+∣wt⁡(h)∖wt⁡(g)∣=∣wt⁡(h)∣+2∣wt⁡(h)∖wt⁡(g)∣\begin{aligned} |\operatorname{wt}(f)|&=|\operatorname{wt}(g)|+|\operatorname{wt}(g+h)|\\ &=|\operatorname{wt}(g)|+|\operatorname{wt}(g)\setminus\operatorname{wt}(h)|+|\operatorname{wt}(h)\setminus\operatorname{wt}(g)|\\ &=|\operatorname{wt}(h)|+2|\operatorname{wt}(h)\setminus\operatorname{wt}(g)|\\ \end{aligned}

Note hh is in RM⁡(r−1,m−1)\operatorname{RM}(r-1,m-1), so ∣wt⁡(h)∣=2m−r|\operatorname{wt}(h)|=2^{m-r}

Theorem for Reed-Muller code

RM⁡(r,m)⊥=RM⁡(m−r−1,m)\operatorname{RM}(r,m)^\perp=\operatorname{RM}(m-r-1,m)

Let C=[n,k,d]q\mathcal{C}=[n,k,d]_q.

The dual code of C\mathcal{C} is C⊥={x∈Fqn∣xc⊤=0 for all c∈C}\mathcal{C}^\perp=\{x\in \mathbb{F}^n_q|xc^\top=0\text{ for all }c\in \mathcal{C}\}.

Example

RM⁡(0,m)⊥=RM⁡(m−1,m)\operatorname{RM}(0,m)^\perp=\operatorname{RM}(m-1,m).

and RM⁡(0,m)\operatorname{RM}(0,m) is the repetition code.

which is the dual of the parity code RM⁡(m−1,m)\operatorname{RM}(m-1,m).

Lemma for sum of binary product

For A⊆[m]={1,2,…,m}A\subseteq [m]=\{1,2,\ldots,m\}, let XA=∏i∈AxiX^A=\prod_{i\in A}x_i, we can defined the inner product ⟨XA,XB⟩=∑x∈{0,1}m∏i∈Axi∏i∈Bxi=∑x∈{0,1}m∏i∈A∪Bxi\langle X^A,X^B\rangle=\sum_{x\in \{0,1\}^m}\prod_{i\in A}x_i\prod_{i\in B}x_i=\sum_{x\in \{0,1\}^m}\prod_{i\in A\cup B}x_i.

So ⟨XA,XB⟩={1if A∪B=[m]0otherwise\langle X^A,X^B\rangle=\begin{cases} 1 & \text{if }A\cup B=[m]\\ 0 & \text{otherwise} \end{cases}

because ∏i∈A∪Bxi=1\prod_{i\in A\cup B}x_i=1 if every coordinate in A∪BA\cup B is 1.

So the number of such x∈{0,1}mx\in \{0,1\}^m is 2m−∣A∪B∣2^{m-|A\cup B|}.

This implies that ⟨XA,XB⟩=1\langle X^A,X^B\rangle=1 if and only if m−∣A∪B∣=0m-|A\cup B|=0.

Recall that RM⁡(r,m)\operatorname{RM}(r,m) is the evaluation of f=∑B⊆[m],∣B∣≤rβXBf=\sum_{B\subseteq [m],|B|\leq r}\beta X^B at all βi∈{0,1}m\beta_i\in \{0,1\}^m.

RM⁡(m−r−1,m)\operatorname{RM}(m-r-1,m) is the evaluation of h=∑A⊆[m],∣A∣≤m−r−1αXAh=\sum_{A\subseteq [m],|A|\leq m-r-1}\alpha X^A at all αi∈{0,1}m\alpha_i \in \{0,1\}^m.

By linearity of inner product, we have

⟨f,h⟩=⟨∑B⊆[m],∣B∣≤rβXB,∑A⊆[m],∣A∣≤m−r−1αXA⟩=∑B⊆[m],∣B∣≤r∑A⊆[m],∣A∣≤m−r−1βα⟨XB,XA⟩\begin{aligned} \langle f,h\rangle&=\langle \sum_{B\subseteq [m],|B|\leq r}\beta X^B,\sum_{A\subseteq [m],|A|\leq m-r-1}\alpha X^A\rangle\\ &=\sum_{B\subseteq [m],|B|\leq r}\sum_{A\subseteq [m],|A|\leq m-r-1}\beta\alpha\langle X^B,X^A\rangle\\ \end{aligned}

Because ∣A∪B∣≤∣A∣+∣B∣≤m−r−1+r=m−1|A\cup B|\leq |A|+|B|\leq m-r-1+r=m-1.

So ⟨XB,XA⟩=0\langle X^B,X^A\rangle=0 since m−1<mm-1<m

So ⟨f,h⟩=0\langle f,h\rangle=0.

Proof for the theorem

Recall that the dual code of RM⁡(r,m)⊥={x∈F2m∣xc⊤=0 for all c∈RM⁡(r,m)}\operatorname{RM}(r,m)^\perp=\{x\in \mathbb{F}_2^m|xc^\top=0\text{ for all }c\in \operatorname{RM}(r,m)\}.

So RM⁡(m−r−1,m)⊆RM⁡(r,m)⊥\operatorname{RM}(m-r-1,m)\subseteq \operatorname{RM}(r,m)^\perp.

So the last step is the dimension check.

Since dim⁡RM⁡(r,m)=∑i=0r(mi)\dim \operatorname{RM}(r,m)=\sum_{i=0}^{r}\binom{m}{i} and the dimension of the dual code is 2m−dim⁡RM⁡(r,m)=∑i=0m(mi)−∑i=0r(mi)=∑i=r+1m(mi)2^m-\dim \operatorname{RM}(r,m)=\sum_{i=0}^{m}\binom{m}{i}-\sum_{i=0}^{r}\binom{m}{i}=\sum_{i=r+1}^{m}\binom{m}{i}.

Since (mi)=(mm−i)\binom{m}{i}=\binom{m}{m-i}, we have ∑i=r+1m(mi)=∑i=r+1m(mm−i)=∑i=0m−r−1(mi)\sum_{i=r+1}^{m}\binom{m}{i}=\sum_{i=r+1}^{m}\binom{m}{m-i}=\sum_{i=0}^{m-r-1}\binom{m}{i}.

This is exactly the dimension of RM⁡(m−r−1,m)\operatorname{RM}(m-r-1,m).

Last updated on