ECEN 5682 Theory and Practice of Error Control Codes Introduction to Algebra University of Colorado Spring 2007
Motivation and For convolutional codes it was convenient to express the datawords and the codewords in the form of power series and to use generator polynomials to compute the code power series from the data power series. A similar approach, using polynomials instead of power series, can be used to generate a class of blockcodes known as cyclic codes. Definition: The polynomial f (x) associated with the vector f = (f 0, f 1,..., f N 1 ) is f (x) = f 0 + f 1 x +... + f N 1 x N 1. Definition: Let u = (u 0, u 1,... u k 1 ) be a dataword of a (n, k) blockcode. Then the polynomial u(x) = u 0 + u 1 x +... + u k 1 x k 1, with deg u(x) k 1, associated with u is called the corresponding data polynomial.
Definition: Let c = (c 0, c 1,... c n 1 ) be a codeword of a (n, k) blockcode. Then the polynomial c(x) = c 0 + c 1 x +... + c n 1 x n 1, with deg c(x) n 1, associated with c is called the corresponding code polynomial. Definition: A q-ary generator polynomial of degree n k is a polynomial in x of the form g(x) = g 0 + g 1 +... + g n k x n k, g 0, g n k 0, with n k + 1 q-ary coefficients g i. Definition: The q-ary (n, k) blockcode C generated by the q-ary generator polynomial g(x) of degree n k is the set of all code polynomials c(x) = u(x) g(x), which is obtained from the set of all possible q-ary data polynomials u(x) with deg u(x) k 1.
Example: Let q = 2 and g(x) = 1 + x 2 + x 3 + x 4. Using c(x) = u(x) g(x), the following codewords are obtained: u(x) c(x) 0 00000 1 10111 = 1 + x 2 + x 3 + x 4 = g(x) 01 = x 010111 = x g(x) right shift 11 = 1 + x 111001 = g(x) + x g(x) 001 0010111 101 1001011 011 0111001 111 1100101 0001 00010111 1001 10101111 0101 01001011 1101 11110011 0011 00111001 1011 10000001 1 + x 7 = (1 + x 2 + x 3 )(1 + x 2 + x 3 + x 4 ) 0111 01100101 1111 11011101
The set of codewords from the first 8 rows C = {0000000, 1011100, 0101110, 1110010, 0010111, 1001011, 0111001, 1100101} make up a cyclic (i.e., if c is a codeword, then its cyclic shifts are also codewords) binary (7, 3, 4) code. The whole set of 16 codewords, however, only makes up a (non-cyclic) binary (8, 4, 2) code, where the reduction in minimum distance from 4 to 2 comes from u = (1011) c = (10000001). Definition: A polynomial with q-ary coefficients is called irreducible if it cannot be factored into two or more smaller degree polynomials with q-ary coefficients.
Example: (contd.) From the computation of c(x) = u(x) g(x) above it can be deduced that, using modulo 2 arithmetic for polynomial coefficients, x 7 +1 = (x 3 +x 2 +1) (x 4 + x 3 + x 2 + 1) {z } = (x +1) (x 3 +x +1) (x 3 +x 2 +1), = (x + 1)(x 3 + x + 1) where all three polynomials in the last expression are irreducible modulo 2. Such polynomials are useful for constructing extension fields. Let p(x) = x 3 + x + 1 and define the element α by 0 = p(α) = α 3 + α + 1 = α 3 = α + 1. Note that, using regular arithmetic, one would have obtained α 3 = (α + 1), but because all coefficients are taken modulo 2, minus and plus are the same.
Multiplying repeatedly by α and using the reduction α 3 = α + 1 whenever necessary results in the following elements: α 3 = α + 1, α 4 = α 2 + α, α 5 = α 3 + α 2 = α 2 + α + 1, α 6 = α 3 + α 2 + α = α 2 + 1, α 7 = α 3 + α = 1 = α 0. After adding the zero element this becomes the set of 2 3 = 8 elements F = {0, 1, α, α 2, α 3, α 4, α 5, α 6 }. Each element can be expressed as a polynomial of degree at most two with binary coefficients and indeterminate α. Therefore, using modulo 2 polynomial addition, one can easily set up an addition table for the elements in F. Similarly, a multiplication table is easily obtained from the power of α representation of the non-zero elements in F.
The addition table is + 0 1 α α 2 α 3 α 4 α 5 α 6 0 0 1 α α 2 α 3 α 4 α 5 α 6 1 1 0 α 3 α 6 α α 5 α 4 α 2 α α α 3 0 α 4 1 α 2 α 6 α 5 α 2 α 2 α 6 α 4 0 α 5 α α 3 1 α 3 α 3 α 1 α 5 0 α 6 α 2 α 4 α 4 α 4 α 5 α 2 α α 6 0 1 α 3 α 5 α 5 α 4 α 6 α 3 α 2 1 0 α α 6 α 6 α 2 α 5 1 α 4 α 3 α 0 Because of the all-zero main diagonal in the addition table each element is equal to its additive inverse, i.e., α i = α i for i = 0, 1,..., 6.
The multiplication table is 0 1 α α 2 α 3 α 4 α 5 α 6 0 0 0 0 0 0 0 0 0 1 0 1 α α 2 α 3 α 4 α 5 α 6 α 0 α α 2 α 3 α 4 α 5 α 6 1 α 2 0 α 2 α 3 α 4 α 5 α 6 1 α α 3 0 α 3 α 4 α 5 α 6 1 α α 2 α 4 0 α 4 α 5 α 6 1 α α 2 α 3 α 5 0 α 5 α 6 1 α α 2 α 3 α 4 α 6 0 α 6 1 α α 2 α 3 α 4 α 5 Using the fact that α 7 = α 0, one can find multiplicative inverses for all non-zero elements quite easily using α j = α 7 j for j = 1, 2,..., 6.
Groups, Rings, Fields Over the reals R (or the rationals Q, or the complex numbers C) one can add, subtract, multiply and divide. In modern algebra the following arithmetic systems are distinguished: Group: Set of mathematical objects for which addition and subtraction are defined. Ring: Set of mathematical objects for which addition, subtraction and multiplication are defined. Field: Set of mathematical objects for which addition, subtraction, multiplication and division are defined. Note that addition, subtraction, multiplication and division need not be the usual +,,, and.
Definition: A set S is an arbitrary collection of objects or elements, without any predefined operations between set elements. Definition: The cardinality S of a set S is the number of objects contained in the set. The cardinality of a set can be finite, countably infinite, or uncountably inifinite. Examples: The set of tea cups in your kitchen is (almost certainly) a finite set. The set of all rational numbers Q is countably infinite. The set of all real numbers R is uncountably infinite.
Let S denote a set of mathematical objects. Then, for any a, b, c S, the following axioms can be defined: (A.1) a + b S Closure wrt + (A.2) a + (b + c) = (a + b) + c = a + b + c Associativity wrt + (A.3) a + 0 = 0 + a = a, 0 S Identity element wrt + (A.4) a + ( a) = ( a) + a = 0, ( a) S Inverse element wrt + (A.5) a + b = b + a Commutativity wrt + (B.1) a b S Closure wrt (B.2) a (b c) = (a b) c = a b c Associativity wrt (B.3) a 1 = 1 a = a, 1 S {0} Identity element wrt (B.4) a (a 1 ) = (a 1 ) a = 1, a, (a 1 ) S {0} Inverse element wrt (B.5) a b = b a Commutativity wrt (C.1) (a + b) c = a c + b c Distributivity c (a + b) = c a + c b
Depending on the subset of axioms which are satisfied, the following arithmetic systems can be defined: Axioms satisfied (A.1)...(A.4) (A.1)...(A.4),(A.5) (A.1)...(A.5),(B.1)...(B.3),(C.1) (A.1)...(A.5),(B.1)...(B.3),(B.5),(C.1) (A.1)...(A.5),(B.1)...(B.5),(C.1) Name Group Commutative (Abelian) Group Ring with Identity Commutative Ring with Identity Field Note: Commutative groups (rings, fields) are also called Abelian groups (rings, fields) in honor of Niels Henrik Abel (1802 1829). Notation: A group with set of elements G and operation is denoted by <G, >. A ring with set of elements R, first operation + and second operation is denoted by <R, +, >. Similarly, a field with set of elements F, first operation + and second operation is denoted by <F, +, >.
Definition: If G (or R or F ) in <G, > (or <R, +, > or <F, +, >) has finite cardinality, then <G, > is a finite group (or <R, +, > is a finite ring, or <F, +, > is a finite field). In this case the number of elements in G (or R or F ) denoted G (or R or F ) is called the order of G (or R or F ). Example: The set of all even integers form a group under the operation of (usual) addition. The number of elements in this group is countably infinite. Example: Let G = {1, 2, 3, 4, 5, 6} and let denote multiplication modulo 7. Then <G, > is a finite group of order G = 6. Example: The set of all polynomials in the indeterminate x with integer coefficients form a commutative ring with identity under the operations of (usual) polynomial addition and multiplication. Because polynomials must have a finite degree, this ring has a countably infinite number of elements.
Example: The set of all complex numbers together with complex addition and multiplication forms a field with an uncountably infinite number of elements. Example: The integers 0, 1,..., 6 form a finite field (called GF (7), where GF stands for Galois field in honor of Evariste Galois (1811 1832)) under the operations of addition and multiplication modulo 7. Here are the group operation tables for GF (7): + 0 1 2 3 4 5 6 0 0 1 2 3 4 5 6 1 1 2 3 4 5 6 0 2 2 3 4 5 6 0 1 3 3 4 5 6 0 1 2 4 4 5 6 0 1 2 3 5 5 6 0 1 2 3 4 6 6 0 1 2 3 4 5 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 2 0 2 4 6 1 3 5 3 0 3 6 2 5 1 4 4 0 4 1 5 2 6 3 5 0 5 3 1 6 4 2 6 0 6 5 4 3 2 1
Definition: Isomorphism. Two groups <G, +> and <G, > are isomorphic if a one-to-one mapping f (.) exists such that (i) a = f (a) (and thus a = f 1 (a )) for all a G and a G, (ii) if a = f (a), b = f (b), then a b = f (a + b) (and thus a + b = f 1 (a b )), for any a, b G and any a, b G. That is, there has to be a one-to-one correspondence between the elements of the two groups, which is preserved under the group operations + and of the respective groups. Note: Isomorphism for rings and fields is defined analogously. The one-to-one correspondence in this case must be preserved for both operations of the respective rings or fields.
Example: The elements G = {1, 2, 4, 8, 11, 16} form a group of order 6 under the operation of multiplication modulo 21, denoted by. Similarly, the elements G = {1, 2, 3, 4, 5, 6} form a group of order 6 under which denotes multiplication modulo 7. The two group operation tables are Multiplication modulo 21 1 2 4 8 11 16 1 1 2 4 8 11 16 2 2 4 8 16 1 11 4 4 8 16 11 2 1 8 8 16 11 1 4 2 11 11 1 2 4 16 8 16 16 11 1 2 8 4 Multiplication modulo 7 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 6 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1 Using the mapping a = f (a) from G to G 1 = f (1), 2 = f (4), 3 = f (2), 4 = f (16), 5 = f (11), 6 = f (8), it is not difficult to see that <G, > and <G, > are isomorphic.
Definition: Let <G, > be a group and let H be a nonempty subset of G. Then H is called a subgroup of G if <H, > is a group. Example: Let <G, > be the elements G = {1, 2, 3, 4, 5, 6} under the operation of multiplication modulo 7. Then H = {1, 2, 4} is a subgroup and it is easily verified that <H, > satisfies all the axioms of a group. Definition: Let <R, +, > be a ring and let H be a nonempty subset of R. Then H is called a subring of R if <H, +, > is a ring. Note: In particular, identity with respect to first operation must be in H and closure must hold (under all specified operations) for elements in H. Definition: Let <E, +, > be a field. Then F E is called a subfield of E if <F, +, > is a field. The field E is then called an extension field of F.
Example: Consider the field of rational numbers Q, the field of real numbers R, and the field of complex numbers C. Then Q R C, and thus Q is a subfield of R and C is an extension field of R. To obtain a subgroup H of a finite group <G, >, one can proceed as follows. Take any h G and let H be the set {h, h h, h h h,...}, or, using a more concise notation, H = {h, h 2, h 3,..., h c = 1}, where c = H is the smallest positive integer such that h c = 1. Example: Consider the group G = {1, 2,..., 12} of integers under the operation of multiplication modulo 13. Picking h = 3 results in the set H = {5 1 = 5, 5 2 = 12, 5 3 = 8, 5 4 = 1}, which forms a subgroup of G of order 4.
Theorem: If G is a finite group and h G, then a smallest positive integer c, called the order of the element h, exists such that h c = 1. Moreover, the first element in the sequence h, h 2, h 3,... which is repeated is h itself. Proof: The element h is a member of a finite group and thus a repetition must eventually occur in h, h 2, h 3,..., that is, it must be true that h k = h m, m > k, for two positive integers k and m. Since the element h k must be in G, one can write 1 = h k h k = h m h k = h m k, which proves that there is at least one positive integer c such that h c = 1. But then h c+1 = h and, since h, h 2,..., h c must all be distinct (otherwise c is not smallest positive integer such that h c = 1), h is the first element which is repeated. QED
Definition: h, h 2, h 3,..., h c = 1 is called a cycle. Note: A cycle is a subgroup. Definition: A group that consists of all the powers of one of its elements, say, α, is called a cyclic group (i.e., G = {α, α 2,..., α c = 1}). The element α is called a primitive element or a generator of the group. Example: Let <G, > be the set of integers under multiplication modulo 13. Then, choosing α = 2, one obtains α 0 = 1 α 4 = 3 α 8 = 9 α 12 = 1 α 1 = 2 α 5 = 6 α 9 = 5 α 2 = 4 α 6 = 12 α 10 = 10 α 3 = 8 α 7 = 11 α 11 = 7 Thus, <G, > is a cyclic group and α = 2 is a primitive element in this group.
Coset Decomposition. Given a finite group <G, > and a subgroup <H, >, H = {h 1, h 2,..., h n } G, one can decompose G with respect to H as follows: h 1 = 1 h 2 h 3... h n g 2 h 1 = g 2 g 2 h 2 g 2 h 3... g 2 h n g 3 h 1 = g 3 g 3 h 2 g 3 h 3... g 3 h n....... g m h 1 = g m g m h 2 g m h 3... g m h n The rows of the coset decomposition are called cosets. The first row is the subgroup H. The elements h 1, g 2, g 3,..., g m in the first column are called coset leaders.
The construction of the array proceeds as follows: (1) Start with the elements of H in the first row (each element occurs exactly once). (2) Choose an (arbitrary) element of G which does not yet appear in the table as coset leader and complete the coset. Repeat this step until all elements of G are used. Note that the array constructed in this way is always rectangular and the construction always stops since G is finite. For non-abelian groups one distinguishes a left coset decomposition with elements g i h j from a right coset decomposition with elements h j g i. Note: The standard array used for (conceptual) decoding of received n-tuples of a q-ary linear code is a coset decomposition. In this case the subset H is the set of all codewords of the code and the group operation is vector addition modulo q.
Example: Let < G, > be the group of integers G = {1, 2,..., 12} under the operation of multiplication modulo 13. A coset decomposition of G with respect to the subgroup H = {1, 3, 9} is 1 3 9 2 6 5 4 12 10 8 11 7 Coset leaders Subgroup H Cosets