Lecture 21: Reed-Muller Codes
Lecture 21: Reed-Muller Codes
i
1
,i
2
,...,ivZ
0
i
1
+i
2
+...+ivt
m
i
1
,i
2
,...,iv
v
j=1
x
i
j
j
(1)
1
with m = m
i
1
,i
2
,...,iv
(i
1
,i
2
,...,iv)
i
1
+i
2
+...+ivt
, 0 i
j
q 1, and t v(q 1). The encoding of mis the
evaluation of p
m
(x) at all the vectors in F
v
q
:
RM(m) = p
m
(
1
,
2
, ...,
v
)
(
1
,
2
,...,v)F
v
q
Remark 1.3. It is easy to check that RM
q
(t, 1) codes are equivalent to [q, t + 1]
q
Reed-Solomon
codes.
It is obvious that the block length of the RM
q
(t, v) code is n = q
v
. We will rst look at the case
where t < q which is useful in applications of complexity theory. The message length k equals the
number of v-long sequences of integers that sums to at most t and it turns out to be:
k = |{(i
1
, i
2
, ..., i
v
)|i
1
+ i
2
+ ... + i
v
t}|
=
_
v + t
v
_
when t q 1. Note that when t q it gets complicated because of the identity x
q
= x , x F
q
.
Remark 1.4. The way the mapping is dened in (1), RM
q
(t, v) codes are linear codes. The proof
is similar to the one we used to prove that RS codes are linear and is left as an exercise.
Proposition 1.5. The distance of RM
q
(t, v) code is
_
1
t
q
_
q
v
. Hence for t < q, RM
q
(t, v) is
an
_
q
v
,
_
v+t
v
_
,
_
1
t
q
_
q
v
_
q
code.
Let us look at some instantiations of the parameters.
1. When t = 1, RM
q
(t, v) is equivalent to RS for (q = n).
2. When v = t =
q
2
the code length becomes n = q
v
=
q
q
. We can show that q =
_
log n
log log n
_
. For this set of parameters we show the asymptotic behavior of the rate of
the code.
k =
_
v + t
v
_
=
_
q
q
2
_
(2e)
q
2
= 2
(q)
(2)
From (2) note that R 0 as n for =
1
2
.
The proof of Proposition 1.5 follows immediately from the following lemma as RM
q
(t, v) is
linear.
2
Lemma 1.6 (Schwartz-Zippel). Any non-zero v-variate polynomial in F
q
[x
1
, x
2
, ..., x
v
] of degree
almost t has tq
v1
roots.
Proof. We will prove the proposition by induction on the number of variables. For v = 1 it states
the familiar result that a non-zero univariate polynomial has at most as many roots as its degree.
Now assume that the induction hypothesis is true for the multivariate polynomial with up to v 1
variables, for v > 1. Let P(x
1
, . . . , x
v
) be a degree t polynomial. Decompose the polynomial as
follows:
P(x
1
, x
2
, ..., x
v
) =
t
1
i=0
R
i
(x
2
, ..., x
v
)x
i
1
(3)
W.l.o.g. we can assume that t
1
1 (as otherwise we have v 1 variables and by induction we will
have tq
v2
< tq
v1
roots) and t
1
may be strictly smaller than t. We consider the following two
cases for a possible root (
1
, . . . ,
v
):
Case 1: R
t
1
(
2
, ...,
v
) = 0 where (
2
, ...,
v
) F
v1
q
. The number of such roots of R
t
1
by
the induction hypothesis is:
|{(
2
, ...,
v
) | R
t
(
2
, ...,
v
) = 0}| deg(R
t
1
)q
v2
(t t
1
)q
v2
.
Thus, the number of roots of P(x
1
,
2
...,
v
) given R
t
1
(
2
, ...,
v
) = 0 is
|{(
1
,
2
, . . . ,
v
) | R
t
1
(
2
, ...,
v
) = 0}| (t t
1
)q
v2
q
= (t t
1
)q
v1
,
where the inequality follows from the fact that any tuple (
2
, . . . ,
v
) can be extended to at
most q vectors in F
n
q
.
Case 2: R
t
1
(
2
, ...,
v
) = 0. Fix (
2
, . . . ,
v
) such that R
t
1
(
2
, . . . ,
v
) = 0. Since
P(x
1
,
2
, ...,
v
) is a univariate polynomial of degree t
1
, by induction:
|{(
1
,
2
, . . . ,
v
) | P(
1
,
2
, . . . ,
v
) = 0}| t
1
.
Then the total number of roots (
1
,
2
, ...,
v
) such that R
t
1
(
2
, ...,
v
) = 0 is
|{(
1
,
2
, . . . ,
v
) | P(
1
,
2
, . . . ,
v
) = 0 R
t
1
(
2
, ...,
v
) = 0}| t
1
q
v1
,
where the inequality follows from the fact that there can be at most q
v1
distinct tuples
(
2
, . . . ,
v
).
3
Now combining two cases we get the total number of roots as follows:
|{(
1
,
2
, . . . ,
v
) | P(
1
,
2
, . . . ,
v
) = 0}|
= |{(
1
,
2
, . . . ,
v
) | P(
1
, . . . ,
v
) = 0 R
t
1
(
2
, ...,
v
) = 0}|
+|{(
1
,
2
, . . . ,
v
) | P(
1
,
2
, . . . ,
v
) = 0 R
t
1
(
2
, ...,
v
) = 0}|
|{(
1
,
2
, . . . ,
v
) | R
t
1
(
2
, ...,
v
) = 0}|
+|{(
1
,
2
, . . . ,
v
) | P(
1
,
2
, . . . ,
v
) = 0 R
t
1
(
2
, ...,
v
) = 0}|
(t t
1
)q
v1
+ t
1
q
v1
= tq
v1
,
as desired.
From the Schwartz-Zippel lemma, the distance of RM
q
(t, v) is at least the total number of non-
zero values of P(x
1
, x
2
, ..., x
v
) which is equal to the number of possible (x
1
, x
2
, . . . , x
v
) minus the
total number of roots of P(x
1
, x
2
, ..., x
v
). Therefore,
d
_
1
t
q
_
q
v
and it is a tight bound. So RM
q
(t, v) is an
_
q
v
,
_
v + t
v
_
,
_
1
t
q
_
q
v
_
q
code. Hence, this proves the Proposition 1.5.
If we take Reed-Muller code with parameters q = 2 and t > 2 we get RM
2
(t, v) code. The
polynomial P dened by (3) of degree t turns out to be,
P(x
1
, x
2
, . . . , x
v
) =
S[v]
|S|t
m
s
iS
x
i
,
That is P is a multi linear polynomial where m
s
F
2
and m = m
s
S[v]
|S|t
. We have the following
result:
Claim 1.7. RM
2
(t, v) is a
_
2
v
,
t
i=0
_
v
i
_
, 2
mv
2
This result will be proved in the next lecture.
References
[1] D. E. Muller. Application of boolean algebra to switching circuit design and to error detection.
IEEE Transactions on Computers, 3:612, 1954.
[2] Irving S. Reed. A class of multiple-error-correcting codes and the decoding scheme. IEEE
Transactions on Information Theory, 4:3849, 1954.
4