Next: Binary Hamming Codes
Up: Basic concepts of linear
Previous: New Codes from Old
In this section, we aim to answer the question ``when are two codes essentially the same?"
As has been noted before, vector space isomorphisms won't work as they don't preserve weight, which is an essential property of each code.
Definition 1.6.1
Two linear codes
and
are called permutation equivalent provided there is a permutation of coordinates which sends
to
.
Remark: It is often convenient to express the permutation between codes in a permutation matrix, which is a matrix with exactly one
in each row and column and zeros elsewhere. Another way to see that two codes are permutation equivalents is if there is a permutation matrix such that
is a generator for
if and only if
is a generator for
. We define:

for some
Facts about permutation matrices:
- If
and
are
permutation matrices, then so is
(matrix multiplication).
is a permutation matrix
- If
is a permutation matrix, there exists an inverse permutation matrix,
.
Exercise: 35 from the book.
Suppose that
and
are permutation equivalent codes where
for some permutation matrix
. Prove that:
- (a)
-
, and
- (b)
- if
is self-dual, so is
.
Example: 1.6.1 from the book.
Let
,
, and
be binary codes with generator matrices
Note that
and
are permutation equivalent with permutation matrix:
We can also tell that
and
are not permutation equivalent -
is a self-dual code while
is not.
Example: Let
and
have generator matrices
respectively. Note that there is not going to be a permutation matrix
so that
.
However, when we write out the codes:
we notice that the two codes are in fact permutation equivalent.
Theorem 1.6.2
Let
be a linear code
- (i)
is permutation equivalent to a code which has generator matrix in standard form
- (ii)
- If
and
are information and redundancy positions, respectively, for
, then
and
are information and redundancy positions, respectively, for the dual code
.
Note: Part (ii) states that information and redundancy positions switch for the dual code
Proof.
For (i), apply elementary row operations to any generator matrix of

. This will produce a new generator matrix of

which has columns the same as those in

, but possibly in a different order. Now choose a permutation of the columns of the new generator matrix so that these columns are moved to the order that produces
![$ [ I_k \vert A ]$](img390.gif)
. The code generated by
![$ [ I_k \vert A ]$](img390.gif)
is equivalent to

.
If

is an information set for

, then by row reducing a generator matrix for

, we obtain columns in the information positions that are the columns of

in some order. As above, choose a permutation matrix

to move the columns so that

has generator matrix
![$ [ I_k \vert A ]$](img390.gif)
;

has moved

to the first

coordinate positions. By Theorem 1.2.1,

has the last

coordinates as information positions. By Exercise 35,

, implying that

is a set of information positions for

, proving (ii).
Instead of thinking of the permutation as a matrix that we multiply a code
by, think of the permutation as an operation that we apply to
. This way, we can write the permutations much more succinctly in cycle form. To do this, let
and
. Then,
Example: 1.6.3 from the book.
Let
,
, and
. Then,
We can also write out the permutation matrix from
:
Note: If
, then
.
Of course, a coordinate permutation need not map a code
to a new code.
Definition 1.6.3
If a permutation maps
to itself, then it is called an (permutation) automorphism. The set of all permutation automorphisms of a group forms the permutation automorphism group of
.
Remark: In this book, we denote the permutation automorphism group as
. If a code
is of length
, then
is a subgroup of the symmetric group
.
Example: Let
be the
binary repetition code. Then,
because all permutations are automorphisms.
Example: Consider the
binary code
, with the following generator matrix:
Show that the following are automorphisms:
-
:
is simply the matrix
with the rows 1 and 2 switched, and thus still generates
.
-
Again,
is simply
with the rows 1, 2, and 3 permuted. It still provides a basis for
.
-
Through simple row operations, we can transform
into
, so
provides a basis for
.
These three permutations generate a simple, non-abelian group of order 168, which turns out to be a very special group,
.
Exercise: How many unique groups are there that are permutation equivalent to
?
The original solution was fixed (aka, completely rewritten) by Judy Walker to reflect the fact that, well, it was incorrect.
From Algebra, we know the old adage ``The length of the orbit is the index of the stabilizer." In this case, we have the symmetric group on 7 symbols acting on the set of subsets of
by permuting the coordinates of
. The ``orbit" of the code is the set of all codes equivalent to the code. The ``stabilizer" of the code is the set of all elements of the symmetric group which fix the code (as a set), i.e., the permutation automorphism group of the code. So since we know the stabilizer has order 168 and since we know the order of the symmetric group is 7!, we have that the length of the orbit is 7!/168 = 30. In other words, the number of distinct codes equivalent to our original code (counting our original code) is 30.
Here are some useful properties to know about the permutation automorphism group:
Theorem 1.6.4
Let
,
, and
be codes over
. Then:
- (i)
-
,
- (ii)
- if
,
, and
- (iii)
- if
for a permutation matrix
, then
.
Proof is an exercise.
Example: 1.6.5 from the book.
Let
be a binary code with the following generator matrix:
Let
and
be
punctured on coordinates 1 and 5, respectively. Then, they are generated by the following matrices:
generates all odd weight codewords, while
generates all even weight codewords. Hence, they cannot be permutation equivalent.
Definition 1.6.5
The group
is transitive as a permutation group if for every ordered pair
of coordinates, there is a permutation in
which sends coordinate
to coordinate
.
If we know that
is transitive, then we cannot have the case of the previous example.
(This lemma is used to prove part (i) of the next theorem, and is not in the book.)
Theorem 1.6.7
Let
be an
code.
- (i)
- Suppose that
is transitive. Then the
codes obtained from
by puncturing
on a coordinate are permutation equivalent.
- (i)
- Suppose that
is transitive. Then the minimum weight
of
is its minimum odd-like weight,
. Furthermore, every minimum weight codeword of
is odd-like.
Thursday, June 9, 2005
Presenters: J. Brown Kramer, J. DeVries
Material: 1.8, 1.9, 1.10
For Lecture: 60
Problem Set: 59, 69, 62
Next: Binary Hamming Codes
Up: Basic concepts of linear
Previous: New Codes from Old
Brian Bockelman
2005-06-29