Anda di halaman 1dari 3

MATH447/747 ASSIGNMENT 2 SOLUTIONS

FALL 2012

(1) (a)
0 1 2 x 1+x 2+x 2x 1 + 2x 2 + 2x
0 0 0 0 0 0 0 0 0 0
1 0 1 2 x 1+x 2+x 2x 1 + 2x 2 + 2x
2 0 2 1 2x 2 + 2x 1 + 2x x 2+x 1+x
x 0 x 2x 1 + 2x 1 1+x 2+x 2 + 2x 2
1+x 0 1+x 2 + 2x 1 2+x 2x 2 x 1 + 2x
2+x 0 2+x 1 + 2x 1+x 2x 2 2 + 2x 1 x
2x 0 2x x 2+x 2 2 + 2x 1 + 2x 1+x 1
1 + 2x 0 1 + 2x 2+x 2 + 2x x 1 1+x 2 2x
2 + 2x 0 2 + 2x 1+x 2 1 + 2x x 1 2x 2+x
(b) Consider the map F F 0 given by 1 7 1 and x 7 2 + x and extended linearly.
Specifically this gives 0 7 0, 2 7 2, 1 + x 7 x, 2 + x 7 1 + x, 2x 7 1 + 2x,
1+2x 7 2+2x and 2+2x 7 2x. Certainly this is a bijection of sets. This is also
a linear isomorphism of vector spaces since it takes a basis to a basis. Finally
we can see that it is a field isomorphism by relabeling the above multiplication
table according to the inverse of the map and seeing that it then equals the
multiplication table for F .
(c) Lets try x. Calculate (using the table or directly) x0 = 1, x1 = x, x2 = 1 + 2x,
x3 = x(1 + 2x) = 2 + 2x, x4 = x(2 + 2x) = 2, x5 = 2x, x6 = x(2x) = 2 + x,
x7 = x(2 + x) = 1 + x, so x is a primitive element (as a check that no calculation
errors were made note that x8 = x(1 + x) = 1 as it should.
(2) (a) Assume the code is over F2 , then C is a (6, 4) linear code so it has 24 = 16
codewords.
(b) Row reduce G

1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1
0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1

1 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1
0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0

1 1 1 0 1 1 1 0 0 0 1 1
0 1 0 0 1 1 0 1 0 0 1 1
0 0 1 1 1 0 0 0 1 0 1 1

0 0 0 1 0 1 0 0 0 1 0 1
So a parity check matrix for this code is
 
1 1 1 0 1 0
1 1 1 1 0 1
1
(c) There are pairs of columns in that parity check matrix which are equal, hence
multiples of each other. There are no single columns which are 0. Thus by a
result from class we have that d = 2.
(d) Since d = 2 we have that this code can correct 0 errors and can detect 1 error.
(3) (a) By the size of the parity check matrix we know that this is a (7, 7 3) = (7, 4)
code over F7 so it has 74 codewords.
(b) (done already in the question)
(c) Column 3 is 5 times column 7, and no column is the zero column, so by a result
from class d = 2.
(d) Since d = 2 the code can correct 0 errors and can detect 1 error.
(4)#10: Take a basis B for the code C. Let k be the number of elements of B which
begin with a 1. We will proceed by induction on k.
If k = 0, then all elements of B start with a 0, and hence so do all linear
combinations, and thus the code has all elements starting with a 0.
Suppose the result holds for some k = n 0. Consider k = n + 1. Let v be an
element of B which begins with 1. Let D = span(B r {v}). By the inductive
hypothesis D has either all elements beginning with 0 or half beginning with 0
and half with 1.
Let E = {v + x|x D}, then E D = C, E D = , and |D| = |E|. If
all elements of D begin with 0 then all elements of E begin with 1. If half the
elements of D begin with 1 and half with 0, then the same is true of E as v + x
begins with the opposite of what x does. In both cases the result holds.
Thus by induction the result holds for all k.
#17: The columns are all of odd weight so in particular there is no zero column. The
columns are distinct and we are working in Z2 . Together these facts tell us that
no column is a multiple of another.
Now take any set of 3 columns. Amongst them they have an odd number of
zeroes, since each one of them does. Thus, by parity, their sum also has odd
weight, and so in particular can not be 0.
Therefore by a result from class C has d 4.
#19: There are a few possible approaches to this one. Heres one way.
(a) First note that half of all binary `-tuples have even weight and half have
odd weight. To be complete lets prove that by induction. It is clear when
` = 1. For ` > 1 all binary `-tuples are uniquely built out of a 1 or a 0
and then any binary (` 1)-tuple. By induction the ` 1-tuples have the
property, and then those which begin with 1 get their weight switched,
so half of the `-tuples beginning with 0 have odd weight and half of the
`-tuples beginning with 1 have odd weight.
Now addressing the homework question. Any nonzero codeword c can be
written as a sum of ` rows of G for some 1 ` k. Consider the columns
of G restricted to these rows. Every nonzero `-tuple appears 2k` times
(as the remaining rows must run through all possibilities) and the zero
`-tuples appears 2k` 1 times (as the remaining rows must run through
all possibilities except 0). By the first observation half of all the `-tuples

2
have odd weight and so contribute a 1 to c. Thus c has
2`
(2 ) = 2k1
k`
2
1s which completes the proof
(b) Lets use essentially the same argument here. The initial observation is a
bit less evident but can be proven inductively just as easily.
Claim: Fix x F`q with all coordinates nonzero. 1/q of all elements of F`q
are orthogonal to x.
Proof of claim: When ` = 1 only 0 is orthogonal to a nonzero vector of
length 1, so the claim holds. For ` > 1, by induction the result holds
when we project onto all the coordinates except the first. Now consider
the role of the first coordinate. Let y F`q . Let a be the dot product of
the vectors x and y with first coordinates removed. Let x1 and y1 be the
first coordinates of x and y. There is a unique solution t to x1 t + a = 0
in F`q , so exactly 1/q of the possibilities for y1 lead to x y = 0. y was
arbitrary so the proof of the claim follows.
Now to the actual homework question. Any nonzero codeword c can be
written as a linear combination with all coefficients nonzer of some ` rows
of G, with 1 ` k. Let x be the vector of these coefficients. As in
the binary case consider the columns of G restricted to these rows. Again
every nonzero `-tuple appears q k` times and the zero `-tuples appears
q k` 1 times. By the claim 1/q of all `-tuples is orthogonal to x and note
that the zero vector is one of these. So 1 1/q do not dot to zero with x
and hence contribute a nonzero coordinate to c. Thus c has
 
1 ` k`
1 qq = q k q k1
q
nonzero entries, as desired.

Anda mungkin juga menyukai