Information Theory Lecture 7 • Finite fields continued: R3 and R7 • the field GF(pm ),. . . • Cyclic Codes • Intro. to cyclic codes: R8.1–3 Mikael Skoglund, Information Theory 1/17 The Field GF(pm ) • π(x) irreducible degree-m over GF(p), p a prime, GF(pm ) = all polynomials over GF(p) of degree ≤ m − 1, with calculations modulo p and π(x) • modulo π(x) ↔ use π(x) = 0 to reduce xm to degree < m • without loss of generality, π(x) can be assumed monic • The prime number p is called the characteristic of GF(pm ); smallest p such that Pp i=1 1 =0 • GF(pm ) is a linear vector space of dimension m over GF(p) • For s < r, GF(ps ) ⊂ GF(pr ) ⇐⇒ s|r s • For β ∈ GF(pr ), β ∈ GF(ps ) ⇐⇒ β p = β Mikael Skoglund, Information Theory 2/17 The Cyclic Group G = GF(pm ) \ {0} • For any β ∈ GF(pm ), the smallest r > 0 such that β r = 1 is called the order of β. • The elements in G = GF(pm ) \ {0} form a cyclic group; • There exists an element α ∈ GF(pm ) of order r = pm − 1 that generates all the non-zero elements of GF(pm ), that is G = {1, α, α2 , . . . , αr−1 } • Any such α is called a primitive element =⇒ Fermat’s theorem: Any β ∈ GF(q) satisfies β q = β, that is q x −x= Y β∈GF(q) (x − β) = x r−1 Y (x − αi ) i=0 Mikael Skoglund, Information Theory 3/17 Polynomial Factorizations • For β ∈ GF(pm ) the minimal polynomial of β is the lowest degree monic polynomial m(x) over GF(p) with β as a root • m(x) is irreducible, has degree s ≤ m such that s|m, and roots β, β p , β 2p , . . . , β (s−1)p called conjugates • If f (β) = 0 for f (x) 6= m(x) over GF(p), then m(x)|f (x); f (β) = 0 =⇒ f (β p ) = 0 • The minimal polynomial of a primitive element in GF(pm ) has degree m, and is called a primitive polynomial Mikael Skoglund, Information Theory 4/17 • A field has at least one primitive element. • When generating GF(pm ) using π(x) with roots α, αp , . . . , α(m−1)p , the element α is primitive in GF(pm ); this is our “standard” primitive element, henceforth denoted α • Let m(i) (x) be the minimal polynomial of αi ∈ GF(q), then q−1 x −1= Y m(t) (x) t over all t ∈ {1, 2, . . . , q − 1} that give different m(t) (x)’s m • An independent statement is: xp − x = product of all monic irreducible polynomials over GF(p) with degrees that divide m =⇒ help to identify the m(i) (x)’s • m(i) (x) of degree s =⇒ m(−i) (x) = xs m(i) (x−1 ) Mikael Skoglund, Information Theory 5/17 Cyclic Codes • C over GF(q) is cyclic ⇐⇒ C is linear and (c0 , . . . , cn−1 ) ∈ C =⇒ (cn−1 , c0 , . . . , cn−2 ) ∈ C • For a cyclic code C, let c = (c0 , . . . , cn−1 ) ∈ C correspond to a codeword polynomial c(x) over GF(q), such that c(x) = c0 + c1 x + c2 x2 + · · · + cn−1 xn−1 • A cyclic shift ↔ multiplication with x modulo xn − 1 Mikael Skoglund, Information Theory 6/17 Formalizing. . . • Equivalence relations: Let ∼ be a relation between objects in a set S, such that 1 2 3 x ∼ x, ∀x ∈ S x ∼ y =⇒ y ∼ x, ∀x, y ∈ S x ∼ y and y ∼ z =⇒ x ∼ z, ∀x, y, z ∈ S • A generalization of ordinary equality “=” • Example: S = the integers, and x ∼ y if x = y modulo p • Equivalence classes: An equivalence relation partitions S into elements that are “equal” or “equivalent” in the sense of ∼ , • Example: 1, 8, 15, . . . are in the same equivalence class when ∼ ↔ “= modulo 7” over the non-negative integers Mikael Skoglund, Information Theory 7/17 • Modulo a polynomial: Two polynomials a(x) and b(x) over GF(q) are equal modulo a polynomial p(x) if a(x) = q1 (x)p(x) + r(x), b(x) = q2 (x)p(x) + r(x) • Corresponds to an equivalence relation, and a(x) and b(x) are in the same equivalence or residue class, “a(x) = b(x) modulo p(x)” ⇐⇒ “a(x) and b(x) in the same residue class modulo p(x)” • Formalizing the representation of GF(pm ); let F (x) = all polynomials over a field F , take F = GF(p) and π(x) ∈ F (x) monic irreducible degree-m, then GF(pm ) = F (x)/π(x) = the different residue classes of F (x) modulo π(x) Mikael Skoglund, Information Theory 8/17 Rings and Polynomials • Let R be an Abelian group with operation + (addition), and define an operation · (multiplication) such that a · b = b · a, a · (b + c) = a · b + a · c, a · (b · c) = (a · b) · c for all a, b, c ∈ R, and a multiplicative identity 1 such that 1 · a = a · 1 = a for any a ∈ R. Then R is a ring. Mikael Skoglund, Information Theory 9/17 • Let F = GF(q), and define the ring Rn = F (x)/(xn − 1) • Each class in Rn is represented by its lowest degree polynomial (of degree ≤ n − 1). • “= in Rn ” ↔ “= mod xn − 1” ↔ “in the same class as the class representative” ↔ “= the representative” • Rn is a linear vector space of dimension n over GF(q). • A (principal) ideal hg(x)i ⊂ Rn generated by g(x) ∈ Rn , hg(x)i = {c(x) : c(x) = u(x)g(x), ∀u(x) ∈ Rn } • A cyclic code of length n with generator polynomial g(x) ∈ Rn is defined as C = hg(x)i Mikael Skoglund, Information Theory 10/17 The Generator Polynomial g(x) • For C = hg(x)i, • g(x) is the unique monic polynomial in C of minimal degree r • the dimension of C is k = n − r • g(x)|xn − 1 • any u(x) over GF(q) of degree < n − r corresponds uniquely to a c(x) ∈ C via c(x) = u(x)g(x) over GF(q) • k message symbols (u0 , . . . , uk−1 ), ul ∈ GF(q), give a codeword c(x) as c(x) = u(x)g(x), u(x) = u0 + u1 x + · · · + uk−1 xk−1 • C.f., c ∈ C ⇐⇒ c = uG Mikael Skoglund, Information Theory 11/17 The Parity Check Polynomial h(x) • The polynomial xn − 1 h(x) = g(x) is the parity check polynomial of the cyclic code hg(x)i of length n • g(x)h(x) = 0, and c(x) ∈ hg(x)i ⇐⇒ c(x)h(x) = 0 in Rn ; c.f., GHT = 0 and, c ∈ C ⇐⇒ cHT = 0 • h(x) has degree k = dimension of hg(x)i Mikael Skoglund, Information Theory 12/17 G and H matrices • For a cyclic code with g(x) = gr xr + gr−1 xr−1 + · · · + g0 h(x) = hk xk + hk−1 xk−1 + · · · + h0 we get G and H in cyclic form as g0 g1 · · · gr 0 0 ··· 0 0 g0 g1 · · · gr 0 · · · 0 G= ··· 0 0 ··· 0 g0 g1 · · · gr 0 0 ··· 0 hk hk−1 · · · 0 ··· 0 hk hk−1 · · · h0 H= ··· hk hk−1 · · · h0 0 0 ··· h0 0 0 Mikael Skoglund, Information Theory 13/17 Why Polynomials? • Encoding and decoding circuitry based on simple logical operations straightforward to derive. . . • Construct and analyze (cyclic) codes based on finite field theory and polynomial factorizations Mikael Skoglund, Information Theory 14/17 Factors of xn − 1 Q • Cyclic code over GF(q): g(x)h(x) = xn − 1 = { irreducible factors } =⇒ code can be constructed based on the factors • Assume (always) n and q relatively prime (no common factors) =⇒ exists a smallest m such that n|q m − 1 • The n zeros of xn − 1 ∈ GF(q m ) and no smaller field, n Y x −1= (x − αi ) n i=1 for some {α1 , . . . , αn } ⊂ GF(q m ) with the αi ’s distinct • The nth roots of unity; GF(q m ) is the splitting field of xn − 1 Mikael Skoglund, Information Theory 15/17 • The roots {α1 , . . . , αn } form a cyclic group ⊂ GF(q m ), that is, there is an α ∈ GF(q m ), the primitive nth root of unity, such that n−1 Y n x −1= (x − αi ) i=0 • n = q m − 1 ⇐⇒ α is a primitive element in GF(q m ) • Assume α a primitive nth root of unity ∈ GF(q m ) where m is the smallest integer such that n|q m − 1, p(i) (x) = minimal polynomial of αi ∈ GF(q m ) =⇒ Y n x −1= p(j) (x) j over all j ∈ {0, . . . , n − 1} that give different p(j) (x)’s Mikael Skoglund, Information Theory 16/17 • Given a factorization n x −1= Y p(j) (x) j some of the p(j) (x)’s can form g(x) and the others h(x); • The zeros of a code, • let C = hg(x)i of length n, and let K = {k : p(k) (x)|g(x)}, then {αk : k ∈ K} are called the zeros of the code; • i.e., all roots of g(x) i • α for i ∈ / K (i ≤ n − 1) are the nonzeros (all roots of h(x)) • the nonzeros of C are the zeros of C ⊥ and vice versa Mikael Skoglund, Information Theory 17/17
© Copyright 2024 Paperzz