0% found this document useful (0 votes)
123 views4 pages

Blah Blha Blah Lama Piska Riwona

This document summarizes the solutions to problems 1-6 from Problem Set 1.5 on coding theory. It includes proofs that: 1) the weights of codewords in a self-orthogonal binary code are divisible by 4 or half are divisible by 2, 2) the weights of codewords in a self-orthogonal ternary code are divisible by 3, and 3) the Golay code G24 contains codewords of weights 0, 8, 12, 16, and 24 as specified. It also demonstrates Lloyd's theorem for the codes G23 and G11 and proves certain properties of latin squares and orthogonal arrays.

Uploaded by

api-4454118
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views4 pages

Blah Blha Blah Lama Piska Riwona

This document summarizes the solutions to problems 1-6 from Problem Set 1.5 on coding theory. It includes proofs that: 1) the weights of codewords in a self-orthogonal binary code are divisible by 4 or half are divisible by 2, 2) the weights of codewords in a self-orthogonal ternary code are divisible by 3, and 3) the Golay code G24 contains codewords of weights 0, 8, 12, 16, and 24 as specified. It also demonstrates Lloyd's theorem for the codes G23 and G11 and proves certain properties of latin squares and orthogonal arrays.

Uploaded by

api-4454118
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Introduction to Coding Theory:

Problem Set 1.5


Oyd11
July 5, 2005

Avaliable online... http://www.math.tau.ac.il/∼callevco/


lalala, blah blha blah
lama piska riwona muzezet??

1. Let C be a self orthogonal binary linear code (ie, C ⊆ C ⊥ ).


Prove: Either the weight of every codeword is divisable by 4 or half the
codewords are of weight divisiable by 2 but not by 4, and the other half
divisiable by both 2 and 4.
Solution: C is self orthogonal, especially every vector is self orthogonal,
as we work over F2 , this means exactly - of even weight.
If every vector is of weight divisiable by 4 we’re done.
Else, there exists a vector a of weight not divisable by 4.
Let X be the set of vectors in C of weight divisiable by 4,
let Y be C − X.
For x ∈ X, x + a is of weight not divisiable by 4, as by orthogonality, the
number of mutual bits is even (ie, w(x · a) )
w(x + a) = w(x) + w(a) − 2w(x · a)
therefore,X + a ⊆ Y
Y + a ⊆ X (boils down to even+even=even, odd+odd=even)
thus, we’ve found a one-to-one mapping in both directions as
|X| ≤ |Y | , and |Y | ≥ |X| ⇒ |X| = |Y |
2. Let C be a self orthogonal trenary linear code.
Prove: The weight of each codeword of C is divisiable by 3
Solution: In F3 , the square of each nonzero member is 1. Let c be a
codeword in C, C is self orthogonal, thus c · c = 0, ie the sum of squares
of c’s coordinates is zero, ie, conguate to 3, ie of weight 3. 
3. a. prove the G24 (Golay) doesn’t contain a codeword of weight 20.
b. prove the following division of weights in G24 :
- a word of weight 0
- 759 words of weight 8
- 2576 words of weight 12

1
- 759 words of weight 16
- a word of weight 24
Solution:
a. G23 is a perfect linear code, and G24 is it’s even sumcheck completion.

—cut A Lie!!!! see extra questions! The word 1 always exists


in a perfect code, for in a perfect code, all coset-leaders of a certain weight
exist, thus, 1 cannot belong to a coset of the code, since it has equal weight
to every coset leader (except for codes of length 1,2).
—- cut, truth again
Looking at the given generator matrix G24 = [I12 |...] in startard form, if
the word 1 exists in the code, it would have to be the sum of all 12 lines.
Counting zeros on the standart form matrix, shows they appear an odd
number of times in each column, ie, the word 1 is indeed in G24 .
G24 is a [24, 12, 8] code, and thus a word of weight 20 would contradict
d(G24 ) = 8.
b.
* Of weights 0,24 - G24 is linear (includes 0), and by a.
* Weight 8 - we’ela 9.4 baSefer - aval po ze lo muwlam!, mawehu miwkal
5, bla bla blah hawlamat zugijut, unique, kisuj vektor: blah blah blah:
   
24 8 24 · 2320
= A8 · ⇒ A8 = = 759
5 5 8 · 74

* Weight 16 - the word 1 of weight 24 exists, thus by linearity, foreach


word of weight 8 there is a word of weight 16 = 759.
* Weight 12 - G24 is self-dual, and it’s generator matrix has only vectors of
weight divisiable by 4, thus any linear combination of lines has also weight
divisiable by 4, since w(a + b) = w(a) + w(b) − 2w(a · b), and w(a · b) is
even because of self-duality. Thus, since all weights are divisiable by four,
and 4,20 are not possible, the only possibilities are 0,8,12,16,24, thus all
the remaining words are of weight 12:

212 − 759 · 2 − 2 = 2576

as required. 
4. Show how Lloyd’s theorem holds for G23 and G11 .
Solution: Evaluating the polynomials, with natural numbers in the
interval gives:
for G23 (binary): 8,12,16
for G11 (trenary): 6,9
(Code snippet appended at the end)

2
5. For k=1,2,...,8 let the arrays Ak = (aij ) of order 9x9 be:

aij := i + j · k(mod9)

a. which of the arrays Ak is a latin-square? prove!


b. are A2 and A5 orthogonal? prove!
Solution: a. Ak = (aij ) = i + j · k(mod9) is a latin square iff

gcd(k, 9) = 1 ie, for k = 1, 2, 4, 5, 7, 8 For each line of the matrix is a


cyclic shift of the vector (012345678) by j · k, so every number appears
only once in each line, but a column becomes an image of the function
λj.j · k(mod9), which is one-to-one iff gcd(k, 9) = 1.
b. A2 , A5 are not orthogonal, for 2 = 5(mod3), so for example both 3 and
5 fit the equation
3 + 3 · k = 0(mod9) thus, in the pairs’ matrix, (0, 0) would appear in the
coordinates 0,0 and 3,3 
6. prove using the ’fundemental theorem’, that for q, a prime power and for
n≤q+1
Aq (n, n − 1) >= q 2
Solution: haWe’ela haXasera...

Appendix: Code snippet for q4:


Lloyd.py - python code to evaluate Lloyd polynomials
cut --------------------
#!/usr/bin/python
# Evaluate Lloyd polynomials
# Author: Mark Kahn

def fact(x):
"""factorial haqi primitivi we-jew"""
if x<2:
return x
return x*fact(x-1)

def c(n,k):
"""n choose k"""
if (k==0) or (n==k): return 1
return fact(n)/fact(k)/fact(n-k)

def Lloyd(q,t,n,x):
"""Lloyd Polynomial
If there exists a perfect (n,M,2t+1)-code over GF(q), then
the polynomial L(x) has t distinct integer roots in the interval

3
[1,n] (Lloyd 1957)

q = ary’ty
2t +1 = distance
n = n-of-codewords
"""
return sum([pow(-1,j)*pow(q-1,t-j)*c(x-1,j)*c(n-x,t-j) for j in range(t+1)])

f=lambda x: Lloyd(2,3,23,x) # binary G23


# lambda dropp’ing (or raising?)
# tying all vars but ’x’
print "G23 [23,12,7] GF2 [1..23]:"
print [x for x in range(1,23) if f(x)==0]

f=lambda x: Lloyd(3,2,11,x) # ternary G11


print "G11 [11,6,5] GF3 [1..11]:"
print [x for x in range(1,11) if f(x)==0]

#End of code -------------

You might also like