Next: Syndrome decoding
Up: The Hamming metric
Previous: The dual code
  Contents
  Index
The following property of
is
perhaps the key reason for introducing the
dual code.
The proof is left as an exercise.
In particular, a vector
is a code word if and only
if it satisfies the conditions
(
), where
is the
row of
.
This is a very convenient condition for
checking if an error has been made in transmission.
Sometimes a generating matrix
can, after elementary row
operations, be put in the form
where
is the
identity matrix and
is an
matrix. If this can be done,
then we say that the generating matrix can be put in
standard form. In this case, the parity
check matrix can be computed.
The proof of this will be left as an exercise.
One other interesting fact about codes in standard
form is that the information bits of the codewords
are easy to distinguish. If we denote the row vectors of
by
then
these form a basis for
. The information bits
of a codeword are the first
coordinates.
Moreover, to to encode a message
into a codeword, simply compute the
-tuple
(or
, depending on if you're writing
as
a row vector or a column vector).
Example 3.4.35
If

is the code over

with generator matrix
The codewords are all of the form

,
where

. In other words, all
codewords are of the form

, where

.
A check matrix for

is given by
Since
, we have, as a
consequence of this, the following result.
Corollary 3.4.36
If

is the parity check matrix for

then

is a generating matrix.
Example 3.4.37
The subcode of the ISBN code with generating matrix
we can add the first, second or third rows to the last two rows
to put this in the form
This is
not in standard form. In fact, the
code

does not have a generator matrix in standard form.
However, let

be the code obtained from

by
swapping the

and

coordinates. These
codes

and

are equivalent. We leave it as an
exercise to show that

has a generator matrix in
standard form.
Example 3.4.38
One way to define the
Reed-Muller code
is as follows. Let

be a sequence defined by an equation such as (
1.3),
where

and

.
Assume that the characteristic polynomial of

in §
1.7.6
is irreducible and primitive. Let

be the period. The set
is a vector space, called the
first order
Reed-Muller code.
It is also possible to define this code as the dual code of the
Hamming code extended by one parity check bit:
Let

be the Hamming code over

of length

. Extend this code to a length

code,

,
where the extra ``bit'' is defined by a parity check:

, where

.
Then

is (equivalent to) the first order
Reed-Muller code.
Exercise 3.4.39
Let

be as in Example
3.4.37. Show that

has a generator matrix in standard form.
Exercise 3.4.40
Prove Lemma
3.4.33.
(Hint: The proof
uses from the definition of

.)
Exercise 3.4.41
Prove
Proposition
3.4.34
(Hint: The proof
uses from the definition of

.)
Exercise 3.4.42
Show that the code

generated by
satisfies

.
Show that

,

, and

.
Next: Syndrome decoding
Up: The Hamming metric
Previous: The dual code
  Contents
  Index
David Joyner
2002-08-23