Reed–Muller codes #
The Reed–Muller code of degree d in m variables over a finite field F with q elements
consists of the evaluation tables on Fin m → F of the polynomials of total degree at most d
(Cslib.Code.reedMuller) [Ree54], [Mul54], [GRS19]. By the
Schwartz–Zippel lemma
MvPolynomial.schwartz_zippel_totalDegree, a nonzero polynomial of total degree at most d
vanishes on at most a d / q fraction of the points, so two distinct codewords differ on at least
a 1 - d / q fraction of the q ^ m points
(Cslib.Code.card_sub_mul_pow_le_mul_hammingDist_of_mem_reedMuller). For d < q this is exact:
the product of X 0 - t over d field elements t vanishes exactly where the first coordinate
is one of them, so in m + 1 variables the minimum distance is (q - d) * q ^ m
(Cslib.Code.minDist_reedMuller). For d ≥ q the bound says nothing; in particular the binary
Reed–Muller codes of degree at least two, whose distance comes from multilinear polynomials, are
not covered by it.
Main definitions #
Cslib.Code.reedMuller: the Reed–Muller code.
Main results #
Cslib.Code.mem_reedMuller: the codewords are the evaluation tables of polynomials of total degree at mostd.Cslib.Code.card_sub_mul_pow_le_mul_hammingNorm_of_mem_reedMuller,Cslib.Code.card_sub_mul_pow_le_mul_hammingDist_of_mem_reedMuller: the Schwartz–Zippel distance bound.Cslib.Code.le_minDist_reedMuller: the minimum distance inm + 1variables is at least(q - d) * q ^ m.Cslib.Code.minDist_reedMuller: ford < qthe minimum distance inm + 1variables is(q - d) * q ^ m.
References #
- I. S. Reed, A class of multiple-error-correcting codes and the decoding scheme
- D. E. Muller, Application of Boolean algebra to switching circuit design and to error detection
- [V. Guruswami, A. Rudra, M. Sudan, Essential Coding Theory] [GRS19]
A word is a codeword of the Reed–Muller code of degree d exactly when it is the evaluation
table of a polynomial of total degree at most d.
The evaluation table of a polynomial of total degree at most d is a codeword of the
Reed–Muller code of degree d.
Schwartz–Zippel distance. A nonzero codeword of the Reed–Muller code of degree d in m
variables over a field with q elements is nonzero on at least a 1 - d / q fraction of the
q ^ m points: (q - d) * q ^ m ≤ q * hammingNorm f.
Schwartz–Zippel distance. Two distinct codewords of the Reed–Muller code of degree d in
m variables over a field with q elements differ on at least a 1 - d / q fraction of the
q ^ m points: (q - d) * q ^ m ≤ q * hammingDist f g.
The Reed–Muller code of degree d in m + 1 variables over a field with q elements has
minimum distance at least (q - d) * q ^ m.
The distance of Reed–Muller codes. For d < q, the Reed–Muller code of degree d in
m + 1 variables over a field with q elements has minimum distance exactly
(q - d) * q ^ m.