## Description

Member of the RM\((r,m)\) family of linear binary codes derived from multivariate polynomials. The code parameters are \([2^m,\sum_{j=0}^{r} {m \choose j},2^{m-r}]\), where \(r\) is the order of the code satisfying \(0\leq r\leq m\). First-order RM codes are also called biorthogonal codes, while \(m\)th order RM codes are also called universe codes. Punctured RM codes RM\(^*(r,m)\) are obtained from RM codes by deleting one or more coordinates from each codeword.

Generator matrices of RM codes are constructed using the \((u|u+v)\) construction by starting from the \(2^m\)-dimensional matrix \(F^{(m)}=\left(\begin{smallmatrix}1 & 0\\ 1 & 1 \end{smallmatrix}\right)^{\otimes m}\), labeling its rows top-to-bottom from \(0\) to \(2^m-1\), converting the labels to binary strings of length \(m\), and deleting all rows whose labels have a Hamming weight less than \(m-r\). The recursive nature of the tensor product in the matrix \(F^{(m)}\) implies that RM\((r,m)\) is a subcode of RM\((r+1,m)\).

Another way to generate RM codewords is to list all outcomes of all polynomials of \(m\) binary variables of degree at most \(r\) [4] (see also Ch. 13 of Ref. [5]).

## Protection

## Rate

## Decoding

## Realizations

## Notes

## Parents

- Linear binary code
- \((u|u+v)\)-construction code — All RM codes can be constructed via the \((u|u+v)\) construction [5; Ch. 13].
- Generalized RM (GRM) code — Binary GRM codes are RM codes.
- Divisible code — An RM\((r,m)\) code is \(2^{\left\lceil m/r\right\rceil-1}\)-divisible, according to McEliece's theorem [14,15].
- Group-algebra code — RM codes are group-algebra codes [16,17][18; Ex. 16.4.11]. Consider a binary vector space of dimension \( m \). Under addition, this forms a finite group with \( 2^m \) elements known as an elementary Abelian 2-group -- the direct product of \( m \) two-element cyclic groups \( \mathbb{Z}_2 \times \dots \times \mathbb{Z}_2 \). Denote this group by \( G_m \). Let \( J \) be the Jacobson radical of the group algebra \( \mathbb{F}_2 G_m \), where \(\mathbb{F}_2=GF(2)\). RM\((r,m)\) codes correspond to the ideal \( J^{m-r} \). The length of the code is \( |G_m| = 2^m \), the distance is \( 2^{m-r} \), and the dimension is \( \sum_{i=0}^r {m \choose i} \). A similar construction exists for choices of a prime \( p\neq 2 \).

## Children

- Hamming code — Binary Hamming codes are equivalent to RM\(^*(r-2,r)\).
- Single parity-check (SPC) code — RM\((m-1,m)\) are parity-check codes.
- Repetition code — RM\((0,m)\) are repetition codes.

## Cousins

- Binary BCH code — RM\(^*(r,m)\) codes are equivalent to subcodes of BCH codes of designed distance \(2^{m-r}-1\) while RM\((r,m)\) are subcodes of extended BCH codes of the same designed distance [5; Ch. 13].
- Quaternary linear code over \(\mathbb{Z}_4\) — RM codes are images of linear quaternary codes over \(\mathbb{Z}_4\) under the Gray map [19; Sec. 6.3].
- Gray code — RM codes are images of linear quaternary codes over \(\mathbb{Z}_4\) under the Gray map [19; Sec. 6.3].
- Dual linear code — The codes RM\((r,m)\) and RM\((m-r-1,m)\) are dual to each other.
- Binary duadic code — Certain punctured RM codes such as RM\(^*(2,5)\) are duadic; see Ref. [20], Table 6.2.
- Cyclic linear binary code — Punctured RM codes are cyclic ([5], Ch. 13, Thm. 11), making RM codes extended cyclic codes. RM codes with nonzero evaluation points are cyclic ([21], pg. 52).
- Binary linear LTC — RM codes can be LTCs in the low- [22,23] and high-error [24] regimes.
- Biorthogonal spherical code — The RM\((1,m)\) maps to a \((2^m,2^{m+1})\) biorthogonal spherical code under the antipodal mapping [25][26; Sec. 6.4][27; pg. 19].
- Barnes-Wall (BW) lattice code — BW lattice codes are lattice analogues of RM codes in that both can be constructed recursively via a \(|u|u+v|\) construction [28,29].
- \(\Lambda_{16}\) Barnes-Wall lattice code — The RM\((1,4)\) code can be used to obtain the \(\Lambda_{16}\) Barnes-Wall lattice code [27; Ex. 10.7.2].
- Combinatorial design code — Fixed-weight RM codewords of weight less than \(2^m\) support combinatorial 3-designs [30; Ex. 5.2.7].
- Hadamard code — The augmented Hadamard code is the RM\((1,m)\) code.
- Preparata code — A Preparata code can be written as a union of a linear subcode \(\mathcal{C}\) of RM\((m-2,m)\) and the \(2^{m-1}-1\) representatives of coset formed by \(\mathcal{C}\) in RM\((m-2,m)\). The coset representatives are given by \(|1|x^j|0|x^{j}\theta_{1}|\), where \(1\leq j \leq 2^{m-1}-1\). \(\mathcal{C}\) comprises of codewords of the form \(|g(1)|g(x)(1+\theta_{1})|f(1)+g(1)|g(x)(1+\theta_{1})+f(x)(1+\theta_{1}+\theta_{3})|\), where \(f(x)\) and \(g(x)\) are arbitrary, and where \(\theta_{1}\) and \(\theta_{3}\) denote the primitive idempotents corresponding to cyclotomic cosets \(C_1\) and \(C_3\) respectively.
- Delsarte-Goethals (DG) code — The code DG\((m,r)\) is a subcode of the second-order Reed-Muller code RM\((2,m)\), and equals RM\((2,m)\) at \(r=1\) [5; pg. 461]. The code is the union of certain cosets of RM\((1,m)\) in RM\((2,m)\) that are specified by bilinear forms [31].
- Kerdock code — Kerdock code is a subcode of a second-order RM Code [5; pg. 457]. It consists of a number of cosets of RM\((2,m)\) created by quotienting with RM\((1,m)\).
- Polar code — RM codes rely on the same generator matrix, but place message bits in different coordinates. There are families interpolating between the two codes [32].
- Simplex code — Binary simplex codes can be constructed from the generator matrix of RM\((1,k)\) by removing first the all-ones row, and then the all-zero column. Punctured RM codes and simplex codes are interconvertible via expurgation and augmentation ([5], pg. 31).
- Majorana stabilizer code — Majorana stabilizer codes can be constructed by self-orthogonal RM codes [33]. These codes have the additional property that the global fermion parity is fixed in the codespace. In this family of codes, logical measurements are reduced to parity measurements of some subset of Majorana fermions in the code.
- Quantum Reed-Muller code
- Quantum divisible code — Quantum divisible codes can be constructed out of first-order RM codes.

## References

- [1]
- D. E. Muller, “Application of Boolean algebra to switching circuit design and to error detection”, Transactions of the I.R.E. Professional Group on Electronic Computers EC-3, 6 (1954) DOI
- [2]
- I. Reed, “A class of multiple-error-correcting codes and the decoding scheme”, Transactions of the IRE Professional Group on Information Theory 4, 38 (1954) DOI
- [3]
- N. Mitani, On the transmission of numbers in a sequential computer, delivered at the National Convention of the Inst. of Elect. Engineers of Japan, November 1951.
- [4]
- E. Abbe, A. Shpilka, and M. Ye, “Reed-Muller Codes: Theory and Algorithms”, (2020) arXiv:2002.03317
- [5]
- F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
- [6]
- S. Kudekar et al., “Reed–Muller Codes Achieve Capacity on Erasure Channels”, IEEE Transactions on Information Theory 63, 4298 (2017) DOI
- [7]
- G. Reeves and H. D. Pfister, “Reed–Muller Codes on BMS Channels Achieve Vanishing Bit-Error Probability for All Rates Below Capacity”, IEEE Transactions on Information Theory 1 (2023) arXiv:2110.14631 DOI
- [8]
- E. Abbe, A. Shpilka, and A. Wigderson, “Reed-Muller codes for random erasures and errors”, (2014) arXiv:1411.4590
- [9]
- E. Abbe and C. Sandon, “A proof that Reed-Muller codes achieve Shannon capacity on symmetric channels”, (2023) arXiv:2304.02509
- [10]
- L. Rudolph and C. Hartmann, “Decoding by sequential code reduction”, IEEE Transactions on Information Theory 19, 549 (1973) DOI
- [11]
- E.C. Posner, Combinatorial Structures in Planetary Reconnaissance in Error Correcting Codes, ed. H.B. Mann, Wiley, NY 1968.
- [12]
- J. L. Massey, “Deep-space communications and coding: A marriage made in heaven”, Advanced Methods for Satellite and Deep Space Communications 1 DOI
- [13]
- E. Berlekamp and L. Welch, “Weight distributions of the cosets of the (32,6) Reed-Muller code”, IEEE Transactions on Information Theory 18, 203 (1972) DOI
- [14]
- R. J. McEliece, “On periodic sequences from GF(q)”, Journal of Combinatorial Theory, Series A 10, 80 (1971) DOI
- [15]
- R. J. McEliece, “Weight congruences for p-ary cyclic codes”, Discrete Mathematics 3, 177 (1972) DOI
- [16]
- S. D. Berman, “On the theory of group codes”, Cybernetics 3, 25 (1969) DOI
- [17]
- Charpin, Pascale. Codes idéaux de certaines algèbres modulaires. Diss. 1982.
- [18]
- W. Willems, "Codes in Group Algebras." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
- [19]
- S. T. Dougherty, "Codes over rings." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
- [20]
- W. C. Huffman and V. Pless, Fundamentals of Error-Correcting Codes (Cambridge University Press, 2003) DOI
- [21]
- M. A. Tsfasman and S. G. Vlăduţ, Algebraic-Geometric Codes (Springer Netherlands, 1991) DOI
- [22]
- N. Alon et al., “Testing Reed–Muller Codes”, IEEE Transactions on Information Theory 51, 4032 (2005) DOI
- [23]
- T. Kaufman and D. Ron, “Testing Polynomials over General Fields”, SIAM Journal on Computing 36, 779 (2006) DOI
- [24]
- A. Samorodnitsky, “Low-degree tests at large distances”, (2006) arXiv:math/0604353
- [25]
- G. D. Forney and G. Ungerboeck, “Modulation and coding for linear Gaussian channels”, IEEE Transactions on Information Theory 44, 2384 (1998) DOI
- [26]
- Forney, G. D. (2003). 6.451 Principles of Digital Communication II, Spring 2003.
- [27]
- T. Ericson, and V. Zinoviev, eds. Codes on Euclidean spheres. Elsevier, 2001.
- [28]
- E. L. Cusack, “Error control codes for QAM signalling”, Electronics Letters 20, 62 (1984) DOI
- [29]
- G. D. Forney, “Coset codes. I. Introduction and geometrical classification”, IEEE Transactions on Information Theory 34, 1123 (1988) DOI
- [30]
- V. D. Tonchev, "Codes and designs." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
- [31]
- P. Delsarte and J. M. Goethals, “Alternating bilinear forms over GF(q)”, Journal of Combinatorial Theory, Series A 19, 26 (1975) DOI
- [32]
- M. Mondelli, S. H. Hassani, and R. L. Urbanke, “From Polar to Reed-Muller Codes: A Technique to Improve the Finite-Length Performance”, IEEE Transactions on Communications 62, 3084 (2014) DOI
- [33]
- S. Vijay and L. Fu, “Quantum Error Correction for Complex and Majorana Fermion Qubits”, (2017) arXiv:1703.00459

## Page edit log

- Victor V. Albert (2022-07-28) — most recent
- Anqi Gong (2022-07-28)
- Victor V. Albert (2021-11-04)

## Cite as:

“Reed-Muller (RM) code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/reed_muller

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/bits/reed_muller.yml.