Download Introduction to Coding Theory

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

System of polynomial equations wikipedia , lookup

Linear algebra wikipedia , lookup

Polynomial ring wikipedia , lookup

Basis (linear algebra) wikipedia , lookup

Factorization wikipedia , lookup

Eisenstein's criterion wikipedia , lookup

Field (mathematics) wikipedia , lookup

Cayley–Hamilton theorem wikipedia , lookup

Fundamental theorem of algebra wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Algebraic number field wikipedia , lookup

Transcript
Introduction to Coding Theory
Lakshmi Kanta Dey∗
Department of Mathematics,
National Institute of Technology-Durgapur
Durgapur-713 209, West Bengal, India.
1
Introduction
The aim of coding theory or more precisely algebraic coding theory is to provide
secure transmission of messages, in the sense that (up to a certain number of) errors
that occurred during the transmission can be corrected. However, for this capability
a price must be paid, in the form of redundancy of the transmitted data Transmitted
messages, like data from a satellite, are always subject to noise. It is important;
therefore, to be able to encode a message in such a way that after noise scrambles
it, it can be decoded to its original form. This is done sometimes by repeating the
message two or three times, something very common in human speech. However,
copying data stored on a compact disk, or a floppy disk once or twice requires extra
space to store. In this application, we will examine ways of decoding a message
after it gets distorted by some kind of noise. This process is called coding. A code
that detects errors in a scrambled message is called error detecting. If, in addition,
it can correct the error it is called error correcting. It is much harder to find error
correcting than error-detecting codes.
2
Finite Field Theory
2.1
1.
2.
3.
4.
Problems/Results that can be easily verified:
Prove that Zn is an integral domain (ID) iff n is prime.
P.T. any finite integral domain is a field.
Zn is a field iff n is a a prime.
Prove that the commutativity of addition follows from the other axioms for a
∗
Corresponding Author Email: [email protected]
1
2
L.K. Dey
division ring or Skew Field.
5. A finite subgroup of the multiplicative group of a field is cyclic.
6. Show that the characteristic of a field is either prime or zero. Show that characteristics of any finite field F is p, for some prime p.
7***. Can you construct an infinite field F whose Characteristics is prime?
2.2
Polynomial Ring:
Let R be a ring. A polynomial f (x) with coeff. in R is an infinite formal sum
∞
X
ai xi = a0 + a1 x + ... + an xn + ...
i=0
where ai ∈ R and ai = 0 for all but finitely many.
P
Degree of a Polynomial: For the polynomial f (x) = ni=0 ai xi , the integer n will
be called the degree of f (x) if an 6= 0.
Remark: The degree of a zero polynomial is not defined and for convenience degree
of a zero polynomial is assumed to be −1.
We shall denote by R[x] as a polynomial ring.
2.3
Problems/Results that can be easily verified:
1. Find the sum and product of the given polynomials
(a) f (x) = g(x) = x + 1 in Z2 [x],
(b) f (x) = 4x − 5, g(x) = 2x2 − 4x + 2 in Z8 [x].
2. How many polynomials are there of degree ≤ 3 in Z2 [x]?
3. Find all zeros in the indicated finite fields
(a) x2 + 1 in Z2 [x],
(b) x3 + 2 in Z7 [x],
(c) x3 + x + 1 inZ5 [x].
Definition: A non-constant polynomial f (x) ∈ F [x] is irreducible if f (x) can’t be
expressed as a product g(x).h(x) of two two polynomials g and h both of lower
degree than of the degree of f (x). Alternatively, f (x) = g(x).h(x) in F [x] is irr. iff
either g or h is a unit.
Introduction to Coding Theory
2.4
3
Problems:
1. S.T. f (x) = x3 + 3x + 2 in Z5 [x] is irr.
2. S.T. f (x) = x3 + x2 + 1 in Z2 [x] is irr.
Theorem: Let f (x) ∈ F [x] and let f (x) be of degree 2 or 3. Then f is irr.
over F iff it has no zero in F .
Theorem(Eisenstein Criterion): Let p ∈ Z be a prime. Suppose f (x) = an xn +
... + a0 is in Z[x], and an 6≡ 0 (mod p) but ai ≡ 0 (mod p) f or i < n with a0 6≡ 0
(mod p2 ). Then f is irr. over Q.
2.5
Problems:
1. S.T. f (x) = x2 + 2 is irr. over Q
2. S.T. f (x) = 25x5 − 9x4 + 3x2 − 12 is irr. over Q. (Hint. Verify the above result
for p = 3)
3. Check whether f (x) = x4 − 2x2 − 2 is irr. over Q or not.
4. Find the structure of the splitting field for the polynomial x4 − 2 over the field of
rational numbers Q. [Hints.− Use Eisenstein’s Irreducibility Criterion. ]
Cor: The cyclotomic polynomial
Φp (x) =
xp − 1
= xp−1 + xp−2 + ... + x + 1
x−1
is irr. over Q for any p. (Hint. Consider g(x) = Φp (x + 1) = xp−1 + pxp−2 + ... +
p) and g(x) = h(x).r(x))
2.6
Field Extension:
A field E is called extension field of a field F if F ⊂ E. Thus R is an extension field
of Q, and C is an extension field of both R and Q.
Definition(Algebraic, Trancendental): An element α of an extension field E of
a field F is algebraic over F if f (α) = 0 for some non-zero f (x) ∈ F [x]. If α
is not algebraic over F , then α is trancendental over F . For example i ∈ C is
an algebraic over R or Q, but the real numbers π and e are trancendental over Q.
(Proof is pretty tough!)
Theorem 2.1 : Let F ,→ E, and let α ∈ E, is algebraic over F . Then there is
an irreducible polynomial p(x) ∈ F [x] such that p(α) = 0. This is unique up to a
4
L.K. Dey
constant factor in F and is a polynomial of minimal degree ≥ 1 in F [x] having α as
a zero.
If we take this p(x) as monic, then it would be unique and will be denoted by
irr(α, F ). Also, this polynomial irr(α, F ) is sometimes referred as minimal polynomial for α over F .
2.7
The Structure of a Finite Field:
We shall show that for every prime p and positive integer n, there is exactly one
field (up to isomorphism) of order pn . This is usually referred as Galois field of
order pn .
Theorem 2.2: Let [E : F ] = n. If F has q elements then E has q n elements.
Proof: E is a vector space over F , finite-dimensional since F is finite. Denote this
dimension by n; then E has a basis over F consisting of n elements, say α1 , ..., αn .
Every element of E can be uniquely represented in the form k1 α1 + ... + kn αn (where
k1 , ..., kn ∈ F ). Since each ki ∈ F can take q values, E must have exactly q n elements.
Corollary: If E is a finite field of characteristic p, then E contains exactly pn elements for some positive integer n. (Hint. Every finite field E is a finite extension of
a prime field isomorphic to the field Zp , where p = Ch(E).)
Theorem 2.3: If F is a finite field with q elements, then every a ∈ F satisfies
aq = a.
Proof: Clearly aq = a is satisfied for a = 0. The non-zero elements of F form
a group of order q − 1 under multiplication. Using the fact that a|G| = 1 for any
element a of a finite group G, we have that all 0 6= a ∈ F satisfy aq−1 = 1, i.e. aq = a.
Lemma: If F is a finite field with q elements and K is a subfield of F , then the
polynomial xq − x in K[x] factors in F [x] as
xq − x =
Y
(x − a)
a∈F
and F is a splitting field of xq − x over K.
Proof: Since the polynomial xq − x has degree q, it has at most q roots in F . By
Theorem 2.3, all the elements of F are roots of the polynomial, and there are q of
them. Thus the polynomial splits in F as claimed, and cannot split in any smaller
field.
Theorem 2.4 : For every prime p and every positive integer n, there exists a finite
field with pn elements. Any finite field with q = pn elements is isomorphic to the
splitting field of xq − x over Zp .
Introduction to Coding Theory
5
Proof: (Existence) For q = pn , consider xq − x in Zp [x], and let F be its splitting
field over Zp . Since its derivative is qxq−1 − 1 = −1 in Zp [x], it can have no common
root with xq −x and so, xq −x has q distinct roots in F . Let S = {a ∈ F : aq −a = 0}.
Then S is a subfield of F since S contains 0; a, b ∈ S implies (ab)q = aq bq = ab, so
ab ∈ S; and, for a, b ∈ S and b 6= 0 we have (ab−1 )q = aq b−q = ab−1 , so ab−1 ∈ S.
On the other hand, xq − x must split in S since S contains all its roots, i.e its
splitting field F is a subfield of S. Thus F = S and, since S has q elements, F is a
finite field with q = pn elements.
(Uniqueness) Let F be a finite field with q = pn elements. Then clearly F has
characteristic p, and so contains Zp as a prime subfield. So, by the previous Lemma,
F is a splitting field of xq − x. The result now follows from the uniqueness (up to
isomorphism) of splitting fields.
Theorem 2.5 : Let Fq be the finite field with q = pn elements. Then every subfield
of Fq has order pm , where m is a positive divisor of n. Conversely, if m is a positive
divisor of n, then there is exactly one subfield of Fq with pm elements.
Proof: Clearly, a subfield K of F must have order pm for some positive integer mn.
By Theorem 2.2, q = pn must be a power of pm , and so m must divide n.
Conversely, if m is a positive divisor of n, then pm − 1 divides pn − 1, and so
n
m
pm −1
x
− 1 divides xp −1 − 1 in Fp [x]. So, every root of xp − x is a root of xq − x, and
m
hence belongs to Fq . It follows that Fq must contain a splitting field of xp − x over
Fp as a subfield, and (from proof of Theorem 2.4) such a splitting field has order pm .
If there were two distinct subfields of order pm in Fq , they would together contain
m
more than pm roots of xp − x in Fq , a contradiction!
We will consider a finite field F containing q = pn , p-some prime and n +ve
integer elements, called Galois filed, and denoted by GF (q). Here we will denote
the elements of GF (q) as
a0 + a1 x + ... + an−1 xn−1 , ai ∈ Zp , and x is primitive element.
For example if q = 5, then p = 5 and n = 1 and the elements are
a0 , a0 ∈ Z5 i.e. = {0, 1, 2, 4}.
Next suppose q = 9, then p = 3 and n = 2 and GF (9) is
0, 1, 2, x, x + 1, x + 2, 2x, 2x + 1, 2x + 2.
We give an Algorithm for construction of GF (q) as follows:
Algorithm 2.1 : Step − I : Construct a set W of integers less than q − 1 and perfect divisors of q − 1.
6
L.K. Dey
[We want to construct a finite field containing 9 elements and note that the operation addition is canonical and it would be term by term addition but if we want
to multiply x + 1 with 2x + 1, there is a term 2x2 , so we need to bring it back to
its lower powers, thus we have to have a well defined technique to solve this. Here
q − 1 = 9 − 1 = 8 and W = {1, 2, 4}]
Step − II : We take the Cyclotomic equation as
xq−1 − 1
= 0.
lcm(xw − 1 : w ∈ W )
[lcm{xw − 1} = lcm{x − 1, x2 − 1, x4 − 1} = x4 − 1.
= 0 ⇒ x4 + 1 = 0. ]
Hence we consider
x8 −1
x4 −1
Step − III : Starting from the Cyclotomic equation, obtain a relationship of the
form
xn = b0 + b1 x + ... + bn−1 xn−1 , bi ∈ Zp
and the intermediate operations are modulo p.
[We try to factorize x4 +1 as (x2 +ax+b).(x2 +cx+d), where a, b, c, d ∈ {0, 1, 2}.
Equating the coefficients we have
0 = a + c, 0 = b + ac + d, 0 = bc + ad, 1 = bd.
So, we have two option either b = d = 1 or b = d = 2. If we take b = d = 1, then
ac + 2 = 0, i.e. ac = 1, this is violating a + c = 0. So we get stuck here. Hence,
b = d = 2 and consequently either a = 2, c = 1, or a = 1, c = 2. Therefore two
factors are (x2 + x + 2)(x2 + 2x + 2) ⇒ x2 = x + 1/x2 = 2x + 1. We can work either
of the above but for our simplicity we will take the first one]
Step − IV : Elements of GF (q) are given as
α0 = 0, α1 = 1, α2 = x, α3 = x2 , ..., αq−1 = xq−2 ,
where identity obtained in step − III is used for simplification whenever needed.
[Now the elements of GF (9) are α0 = 0, α1 = 1, α2 = x, α3 = x2 = x + 1, α4 =
(x + 1)x = x2 + x = 2x + 1, α5 = (2x + 1)x = 2x2 + x = 2, α6 = 2x, α7 = 2x2 =
2x + 2, α8 = (2x + 2).x = x + 2]
2.8
Problems:
1. Construct the field GF (8). [Hint. here p = 2, n = 3 and the relation is x3 = x2 +1.
2. Show that, an irreducible polynomial of degree m over GF (q) has a root in GF (q n )
if and only if m divides n.
Introduction to Coding Theory
3
7
Preliminaries/Error Detection, Correction and
Decoding
We start with this sequence of towers as Digit → Word → Code.
There are several types of Digits can be found, such as Binary Digit, Ternary Digit,
q-ary digit; which contain 2, 3, q- different symbols, respectively, (Where q = pn , p
is any prime, n is a positive integer).
A string of digits is called a word.
For example, 0111001(Binary Digit), 201122100 (Ternary Digit),etc.
A q-ary word is an element of Fq n , [Fq n = Fq × Fq × · · · × Fq ], for any integer n.
Any collection of words is called a Code. For example, C1 = {011, 010, 100, 111},
C2 = {002, 12, 221, 01}, etc.
Block Code: If in a code C every codeword consists of same number of digits, then C is said to be a block code. For example, C1 = {011, 010, 100, 111},
C2 = {002, 122, 221, 101}, etc.
Note: If every codeword in a block code are formed with 00 s and 10 s i.e. binary digits, then the block code is said to be a binary block code. For example,
C1 = {011, 010, 100, 111}.
Basic Assumptions:
1. The number of digits in a sent word i.e. the length of the word sent is same as
the length of the word received.
2. The sequential order is preserve under transmission.
3. The probability of incorrect transmission of one digit is independent of another
digit.
Binary Symmetric Channel:
Example: Suppose that codewords from the code {000, 111} are being sent over a
BSC with crossover probability p = 0.05. Suppose that the word 110 is received.
We can try to find the more likely codeword sent by computing the forward channel
probabilities:
P (110 received| 000sent) = P (1 received|0 sent)2 .P (0 received|0 sent) = (0.05)2 ×
0.95 = 0.002375,
P (110 received|111 sent) = (P (1 received|1 sent))2 P (0 received|1 sent) = 0.952 ×
0.05 = 0.045125. Since the second probability is larger than the first, we can conclude that 111 is more likely to be the codeword sent.
Note: Henceforth we will always assume that
1
2
< p < 1.
8
3.1
L.K. Dey
Problems:
1. What can be said when p = 12 .
3.2
Some Basic Algebra:
K = {0, 1}.
K n = {(a1 , a2 , ..., an )| ai ∈ K, ∀i = 1, 2, ...n}.
Then K n (K) is a vector space.
3.3
Problems:
1. If v ∈ K n , then show that v + v = 0(the zero word).
2. If v, w ∈ K n and v + w = 0. Then show that v = w.
3.4
Weight and Distance:
For any word v of length n, the weight of v is denoted by wt(v), is the number of
non-zero digits in v.
The distance( Hamming distance ) between two words in is the number of places
in which they differ. It is denoted by d(v, u).
3.5
Problems:
1. Prove that d(u, v) = wt(u − v), for any words u,v.
2. Prove that d(u, v) is a metric on any code.
3. For any two cordwords v and w each of length n, v∗w = (v1 w1 , v2 w2 , v3 w3 , ..., vn wn ),
then prove that wt(v + w) = wt(v) + wt(w) − 2wt(v ∗ w).
Theorem 3.1: Suppose we have BSC with reliability 21 < p < 1. Suppose v1 ,
v2 ,and w be 3 cordwords of length n. Suppose v1 and w disagree in d1 positions and
v2 and w disagree in d2 positions. Then,
Φp (v1 , w) ≤ Φp (v2 , w)
3.6
if f
d1 ≥ d1 .
Maximum Likelihood Decoding:
There are two types of MLD;
(1) Complete Maximum Likelihood Decoding (CMLD).
(2) Incomplete Maximum Likelihood Decoding (IMLD).
Introduction to Coding Theory
3.7
9
Problems:
1. Let |M | = 2, n = 2, and C = {000, 111}. If v = 000 is transmitted; when will
IMLD conclude the codeword(s) correctly and when will it conclude incorrectly that
111 was sent.
2. Let |M | = 3, n = 4, and C = {0000, 0111, 1010}. Construct the IMLD Table.
3. Let |M | = 2, n = 3,and C = {001, 101}. If v = 001 will send, then, when IMLD
conclude correctly as well as incorrectly that 101 was sent.
3.8
Error Detecting Code:
Result: Suppose v has sent and w has received. Then a code C detects the error
patterns u iff u + v ∈ C for each v ∈ C.
For example, let C = {001, 101, 110}. Check whether C can detect the error
pattern u = 010. Here we get all u + v as {011, 111, 100} non of these are in C,
therefore C can detect u.Again over the same code C, if we take u = 100, then it
can be verified that C cannot detect u.
Alternating Approach : Let a set S defined by S = {u |u = v + w, u, w ∈ C},
i.e. the set of words that cannot be detected by C. Then C can detect the e.p.
u ∈ K n \ S.
3.9
Problems:
1. If C = {00000, 10101, 00111, 11100}, then test which of the following e.p. can be
detected by C,
(i) u = 10101.(ii) u = 01010.
2. Prove that no code will detect the e.p. for u = 0.
3. Find the e.p.(s) detected for each of following code
(i) C = {0000, 1111, 1001, 0110}, (ii) C = {101, 111, 011}, (iii) C = K n .
4
Distance of a Code:
Denoted by d(C), defined by d(C) = min{d(u, v)|u, v ∈ C, u 6= v}.
Result: In a symmetric channel with error probability p > 0, a code C can detect
upto t errors in every codewords ⇔ d(C) ≥ (t + 1).
10
L.K. Dey
4.1
Error Correcting Code:
Definition: A code C of length n, size M , and distance d is known as (n, M, d) code.
Exercise: Determine the number of (n, 2, n) type codes where n ≥ 2.
Hint. : Let C1 = {(l1 , l2 , l3 , ...ln )|li = 0 or 1, i = 1, 2, 3, ..., n}, there are n position to fill up by 2 bits. Therefore all positions can be filled by 2n ways. But
no repetitions in the same component will come into consideration. Therefore, the
n
required number is 22 = 2n−1 .
A code C is said to be t-error correcting code, if it can correct t or at most t number
of errors. ♦
Whenever it is t- error correcting code, that means ∃ at least one codeword having
(t + 1) error, that cannot be corrected.
Result : A code C is t- error correcting iff d(C) ≥ (2t + 1), i.e. it can correct upto
)c error exactly. Here b(x)c represents the greatest integer less than or equal
b( d−1
2
to x.
5
Linear Code :
Definition: A code C is called Linear Code, if for every u, v ∈ C be such that
u + v ∈ C.
Note:
• If C is a Linear Code, then 0 00 codeword is always in C.
• Any linear code can be consider as a linear space.
• A linear code of length n and dimension k over Fq is often called an q-ary
[n, k, d] code with minimum distance d.
Result : Prove that d(C) = wt(C).
(Hints. wt(C) ≤ wt(u − v) = d(u, v) = d(C) ≤ wt(w − 0) = wt(C)).
Definition: Let u, v ∈ S ⊆ K n , then u.v is defined by u.v = u1 v1 + u2 v2 + u3 v3 + ...
+ un vn . A codeword v ∈ K n is said to be orthogonal to S, if u.v = 0, ∀ u ∈ S.
Introduction to Coding Theory
11
Thus, dual of C = orthogonal complement of C = C ⊥ is defined by
C ⊥ = {v ∈ K n |u.v = 0, ∀u ∈ C}
Result : Prove that a linear code C of dimension k contains 2k codewords, precisely.
Note: Dimension of linear code C = Dimension of vector space C over Fq .
Result : Let C be a linear code over Fq n ; then 1. |C| = q dimC , where dimC = logq |C|.
2. C ⊥ is a linear code and dim(C) + dim(C ⊥ ) = n.
3. (C ⊥ )⊥ = C.
Definition: A linear code is said to be Self Orthogonal if C ⊆ C ⊥ and is said to
be Self dual if C = C ⊥ .
Result :
1. Dimension of self orthogonal code of length n is less than equal to n2 .
2. Dimension of a self dual code of length n is n2 .
5.1
Parity Check Matrix and Generator Matrix :
Definition: A matrix, generally, denoted by Gk×n , is called the Generator Matrix for a linear [n, k] code C, if the rows of G form a basis for C.
A matrix H(n−k)×n is called the Parity Check Matrix for the linear [n, k] code
C, if it is a generator matrix for C ⊥ .
If H is a parity check matrix, the code C consists of all vectors x = (x1 , ..., xn )
which are solution of the homogenous system of linear equations with co-efficient
matrix H : C = {x ∈ Fqn |HxT = 0}.
5.2
Problems:
1. Show that the set C of all binary vectors of length n ≥ 2 of even weight form an
[n, n-1, 2] code.
2. Find a parity check matrix of C.
3. Find a generator matrix of C.
4. Give an efficient algorithm to compute H, given G, and vice versa.
5. Find a generator matrix and a parity-check matrix for the linear code generated
by each of the following sets, and give the parameters [n, k, d] for each of these codes:
12
L.K. Dey
(a)q = 2, S = {1000, 0110, 0010, 0001, 1001},
(b)q = 3, S = {110000, 011000, 001100, 000110, 000011},
(c)q = 2, S = {10101010, 11001100, 11110000, 01100110, 00111100}.
6. Construct a binary code C of length 8 as follows: for every (a, b, c, d) ∈ F24 ,
construct an 8-bit word (a, b, c, d, w, x, y, z) ∈ C, where
w = a + b + c, x = a + b + d, y = a + c + d, z = b + c + d.
(i) Show that C is a linear code.
(ii) Find a generator matrix and a parity-check matrix for C.
(iii) Show that C is exactly three-error-detecting and one-error correcting.
Result: The minimum weight of a linear code with a parity check matrix H is equal
to the largest integer d such that every d − 1 columns of H are linearly independent.
Corollary:Let C be a linear code and let H be a parity-check matrix for C. Then
the following statements are equivalent:
(i) C has distance d;
(ii) any d − 1 columns of H are linearly independent and H has d columns that are
linearly dependent.
Corollary: A linear code with a parity check matrix H can correct single errors
if every two columns of H are linearly independent. In particular, a binary linear
code can correct single errors if all columns of its parity check matrix are nonzero
and distinct.
5.3
Decoding of linear codes :
Definition(Coset): Let C be a linear code and u ∈ Fqn , a coset C +u is determined
by u and defined by C + u = {v + u | v ∈ C}.
Result: Let C be an [n, k, d] linear code over Fq , then (i) Every vector in Fqn is in some coset of C.
(ii) ∀ u ∈ Fqn , |C + u| = |C| = q k .
(iii) ∀ u, v ∈ Fqn , u ∈ C + u =⇒ C + u = C + v.
(iv) Any 2 cosets are either identical or disjoint.
(v) ∃ q n−k different cosets of C.
(vi) ∀ u, v ∈ Fqn , u − v ∈ C iff u and v in same coset.
Definition: Coset Leader is the smallest weight of the words in that coset.
A coset may have more than one leader. The leader of the code itself is the zero
Introduction to Coding Theory
13
vector.
Example: The cosets
! of the binary [4, 2] code C with generator matrix
1 0 1 1
G=
0 1 0 1
The cosets of a binary [4, 2] code........
Definition:Suppose that C ⊆ Fqn is an [n, k] code with a parity check matrix H.
The syndrome S(b) of a vector b is defined as the (n − k) × 1 column vector equal
to S(b) = HbT .
Result: All vectors in a given coset have the same syndrome.
(Hints.- ).
Properties of Syndrome : Let C be a linear [n, k, d] code with parity check
matrix H and u, v ∈ Fqn , then (i) S(u + v) = S(u) + S(v).
(ii) S(u) = 0 iff u ∈ C.
(iii) S(u) = S(v) iff u and v belongs to the same coset of C.
5.4
Problems:


A. Consider a (7, 4) code whose generator matrix is G = 


1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1





1.Find all the codewords of the code.
2. What is the error-correcting capability of the code?
3. What is the error-detecting capability of the code?
4. Find H, the parity-check matrix of the code.
5. Construct the syndrome table for the code.
6.Compute the syndrome for the received vector (1101101).
Is this a valid vector? If not, what was the most probable sent message?
6
Some Standard Bounds :
For a given code alphabet A of size q(= pn ) and for fixed values of n and d,then
Aq (n, d) = max.{M |∃a(n, M, d)code overA} = largest possible size M for an (n, M, d)
code over A.
14
L.K. Dey
A (n, M, d) code for which M = Aq (n, d) is called an Optimal Code.
Remarks : Thus the value of Aq (n, d) depends on |A|, n, d.
Problem of determining the values of Aq (n, d)is known as main coding
theory problem.
Bq (n, d) = max.{q k | ∃ an [n, k, d]code overFq }.
Result : Let q ≥ 2 be a prime power, then (i) Bq (n, d) ≤ Aq (n, d) ≤ q n , 1 ≤ d ≤ n.
(ii)Bq (n, 1) = Aq (n, 1) = q n .
(iii) Bq (n, n) = Aq (n, n) = q.
7
Latine Square Design :
In combinatorics and in experimental design, a Latin square is an n × n array filled
with n different Latin letters, each occurring
 exactly once
 in each row and exactly
A B C


once in each column. Here is an example:  C A B 
B C A
Latin squares are used in statistics and in mathematics. In the design of experiments, Latin squares are a special case of row-column designs for two blocking
factors:
[1] Many row-column designs are constructed by concatenating Latin squares.
[2] In algebra, Latin squares are generalizations of groups; in fact, Latin squares
are characterized as being the multiplication tables (Cayley tables) of quasigroups.
Other applications include error correcting codes.
Result 1 : There are atmost s − 1 MOLS of order s.
Result 2 : If q = pn , ∃ s − 1 MOLS of order s.
Result 3 : A set of s − 1 MOLS of order s is called a complete set of MOLS.
Theorem 7.1: Suppose q = pn and the elements of GF (q) are α0 = 0, α1 =
1, α2 = x, α3 = x2 , ..., αq−1 = xq−2 . For u = 1, 2, ..., q − 1, let Lu be an s × s matrix
s.t. (i, j) th entry of Lu is given by αt , where αu αi + αt , i, j ∈ 0, 1, ..., q − 1. Then
L1 , L2 , ...., Lq−1 form a complete set of MOLS of order q.
Now we present here a practical Algorithm for construction of a complete set of
MOLS of order q from GF (q).
Algorithm 7.1 :
Introduction to Coding Theory
15
Step − I : Write down the addition table of GF (q) and collect the subscripts to
construct an s × s square L1
Step − II : For u = 2, 3, ..., q − 1, construct an s × s square Lu s.t. the initial row
of Lu is the same of Ls−1 and the subsequent rows are obtained for those of Lu−1 by
one step upwards cyclic rotation.
Example 7.1 :In order to construct a triplet of MOLS of order 4 we first construct the addition table for GF (4) as below: