Week 11 Reed-Muller codes
Version 2023-12-03. To PDF of this week only Open the whole set of notes in PDF
Synopsis. The minimum distance of a perfect code cannot exceed
Boolean functions
Fix
For example,
Definition: Boolean functions
A Boolean function is a (set-theoretical) function
Remark: the number of Boolean functions
The total number of all Boolean functions on
Remark: Boolean functions as rows of a truth table. One has certainly met Boolean functions when constructing truth tables for statements in basic logic. To give an illustration, let
We will represent a logical statement by a row (not column) in a truth table. (We use rows because it is common in Coding Theory to think of codevectors as of row vectors; and in Reed-Muller codes, codevectors arise from functions.) In our
example (
In this table,
(The other rows in the table will be explained below.)
The Boolean algebra
Because Boolean functions take values in
Also, there are constant functions
Definition: Boolean algebra
The vector space of Boolean functions
The traditional logical operations can be written in terms of the Boolean algebra operations
The addition obeys the rule
How to write elements of the Boolean algebra as row vectors?
To write elements of the Boolean algebra on
The standard ordering is obtained by interpreting the word
Definition: value vector of a Boolean function
Let
The next notion does not at all depend on the chosen ordering of words in
Definition: weight of a Boolean function
The weight of the Boolean function
The monomial basis of the Boolean algebra
We will now introduce two special kinds of elements of the Boolean algebra: coordinate functions and, more generally, monomial functions.
Definition: coordinate function
The Boolean function
Definition: monomial, polynomial, degree
To each subset
Also,
A linear combination of monomials is a polynomial. The degree of a polynomial
Remark: properties of monomials.
-
• Observation: because the values of any Boolean function are
and one has This is the reason why there are no higher powers of the in the definition of a monomial. -
• The above also implies that the product of monomials is again a monomial, and the product of polynomials is a polynomial.
-
• There are
monomials in the Boolean algebra on (because there are subsets of -
• The weight of a monomial is calculated in the following result.
-
Proof. If
is a binary word, if and only if Hence the number of binary words in where this monomial has value is equal to the number of ways to choose the bits where There are choices ( or for each one of those bits, hence the total number of such binary words is and □
-
Proof. First, we prove by contradiction that monomials are linearly independent.
Assume for contradiction that a non-empty linear combination (i.e., a sum, as we are working over
of monomials equals the zero Boolean function:where
are some subsets of the index set Without the loss of generality, assume that has the highest degree:Note that if
then Let now the complement of the set Multiplying both sides by we obtainWe have
If then the set cannot contain and so and Rewrite ( asThe left-hand side is a sum of monomials of degree less than
By Lemma 11.1, these monomials have value vectors of even weight. A sum of vectors of even weight is a vector of even weight: we know that the binary even weight code is linear. But the right-hand side is the monomial which by Lemma 11.1 has weight which is odd. This contradiction proves that monomials are linearly independent.It remains to show that the monomials are a spanning set in the Boolean algebra. There are
monomials, so we can form linear combinations of monomials by putting a coefficient of or in front of each monomial. All these linear combinations are distinct, by linear independence. On the other hand, there are Boolean functions on Hence every Boolean function is a linear combination of monomials.A basis is a set which is linearly independent and spanning, so the Theorem is proved. □
Corollary 11.3: Boolean functions are polynomials
Each Boolean function on
Remark: algebraic normal form. A representation of a Boolean function
The Reed-Muller code
We now know that every element of the Boolean algebra on
Definition: Reed-Muller code
Let
Observe that
Example: work out
Find the parameters and write down all codevectors of the Reed-Muller code
Solution. The code
is the repetition code. The length is
Example:
Show that
Solution.
The key result on Reed-Muller codes is the following theorem, which gives the parameters of these codes.
-
Proof. Length
by construction: a value vector is made up of bits obtained by evaluating the given function on the binary words inValue vectors of monomials of degree
span by definition of and are linearly independent by Theorem 11.2, hence form a basis of The number of monomials of degree is the same as the number of -element subsets of which is so the total number of monomials in the basis of — i.e., the dimension of — is as stated.Minimum distance: the code
contains monomials of degree for example, By Lemma 11.1, these have weight Hence is at mostIt remains to show that
We do this by induction inBase case
According to the Examples above, the two possible codes are of weight and of weight So the inequality is satisfied whenInductive step. Assume
for all This means that the weight of any non-zero polynomial of degree in is at leastThe set
of binary words of length splits into two subsets,of words that end in
and words that end in respectively. We need to take a polynomial of degree and prove that We haveEach monomial in
contains a copy of or none, so we can writewhere
are polynomials inThe case
Here is a non-zero polynomial of degree in and so By ( there are at least words where For each such word we have and and so contributes twice when counting the weight of in ( Hence and soThe case
We note that the values of on are the same as the values of on because Furthermore, the values of on are the same as the values of on because on we have Hence ( givesBy the triangle inequality,
for any vectors Hence Here because so the inductive hypothesis ( applies and gives We proved that as required.To conclude, by induction
for all and all □
The key duality between Reed-Muller codes
We finish the chapter by identifying the dual code of
-
Proof. If
are Boolean functions, the definition of inner product means thatIf
is a monomial of degree and is a monomial of degree then is a monomial of degree By Lemma 11.1, there are exactly words such that Since is an even number, and so the sum is zero in This shows that is orthogonal toSince monomials
of degree span this shows that Thus, is spanned by elements of soWe will now compare the dimensions. We have
Using the relation we rewrite this as Finally, the length of the Reed-Muller codes. HenceThus,
contains subspace of the same dimension as hence a subset of the same cardinality as We conclude that □
-
Exercise. The code
is excluded from Theorem 11.5. How would you define “ ” which should be the dual of ?
Theorem 11.5 can be used to identify particular Reed-Muller codes and to deduce their further properties. Examples of this are in the exercises to this chapter.