Information Theory Lecture 7 Finite fields continued: R3 and R7 - - PDF document

information theory
SMART_READER_LITE
LIVE PREVIEW

Information Theory Lecture 7 Finite fields continued: R3 and R7 - - PDF document

Information Theory Lecture 7 Finite fields continued: R3 and R7 the field GF( p m ),. . . Cyclic Codes Intro. to cyclic codes: R8.13 Mikael Skoglund, Information Theory 1/17 The Field GF ( p m ) ( x ) irreducible


slide-1
SLIDE 1

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 p

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

  • For β ∈ GF(pr), β ∈ GF(ps) ⇐

⇒ βps = β

Mikael Skoglund, Information Theory 2/17

slide-2
SLIDE 2

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 xq − x =

  • β∈GF(q)

(x − β) = x

r−1

  • i=1

(x − αi)

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) = 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

slide-3
SLIDE 3
  • 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

xq−1 − 1 =

  • t

m(t)(x)

  • ver all t ∈ {1, 2, . . . , q − 1} that give different m(t)(x)’s
  • An independent statement is: xpm − 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 + c1x + c2x2 + · · · + cn−1xn−1

  • A cyclic shift ↔ multiplication with x modulo xn − 1

Mikael Skoglund, Information Theory 6/17

slide-4
SLIDE 4
  • Formalizing. . .
  • Equivalence relations: Let ∼ be a relation between objects in

a set S, such that

1 x ∼ x, ∀x ∈ S 2 x ∼ y =

⇒ y ∼ x, ∀x, y ∈ S

3 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

slide-5
SLIDE 5

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 g(x) ⊂ Rn generated by g(x) ∈ Rn,

g(x) = {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 = g(x)

Mikael Skoglund, Information Theory 10/17

slide-6
SLIDE 6

The Generator Polynomial g(x)

  • For C = g(x),
  • 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 + u1x + · · · + uk−1xk−1

  • C.f., c ∈ C ⇐

⇒ c = uG

Mikael Skoglund, Information Theory 11/17

The Parity Check Polynomial h(x)

  • The polynomial

h(x) = xn − 1 g(x) is the parity check polynomial of the cyclic code g(x) of length n

  • g(x)h(x) = 0, and c(x) ∈ g(x) ⇐

⇒ c(x)h(x) = 0 in Rn; c.f., GHT = 0 and, c ∈ C ⇐ ⇒ cHT = 0

  • h(x) has degree k = dimension of g(x)

Mikael Skoglund, Information Theory 12/17

slide-7
SLIDE 7

G and H matrices

  • For a cyclic code with

g(x) = grxr + gr−1xr−1 + · · · + g0 h(x) = hkxk + hk−1xk−1 + · · · + h0 we get G and H in cyclic form as

G =     g0 g1 · · · gr · · · g0 g1 · · · gr · · · · · · · · · g0 g1 · · · gr     H =     · · · hk hk−1 · · · h0 · · · hk hk−1 · · · h0 · · · hk hk−1 · · · h0 · · ·    

Mikael Skoglund, Information Theory 13/17

Why Polynomials?

  • Encoding and decoding circuitry based on simple logical
  • perations straightforward to derive. . .
  • Construct and analyze (cyclic) codes based on finite field

theory and polynomial factorizations

Mikael Skoglund, Information Theory 14/17

slide-8
SLIDE 8

Factors of xn − 1

  • 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|qm − 1

  • The n zeros of xn − 1 ∈ GF(qm) and no smaller field,

xn − 1 =

n

  • i=1

(x − αi) for some {α1, . . . , αn} ⊂ GF(qm) with the αi’s distinct

  • The nth roots of unity; GF(qm) is the splitting field of xn − 1

Mikael Skoglund, Information Theory 15/17

  • The roots {α1, . . . , αn} form a cyclic group ⊂ GF(qm), that

is, there is an α ∈ GF(qm), the primitive nth root of unity, such that xn − 1 =

n−1

  • i=0

(x − αi)

  • n = qm − 1 ⇐

⇒ α is a primitive element in GF(qm)

  • Assume α a primitive nth root of unity ∈ GF(qm) where m is

the smallest integer such that n|qm − 1, p(i)(x) = minimal polynomial of αi ∈ GF(qm) = ⇒ xn − 1 =

  • j

p(j)(x)

  • ver all j ∈ {0, . . . , n − 1} that give different p(j)(x)’s

Mikael Skoglund, Information Theory 16/17

slide-9
SLIDE 9
  • Given a factorization

xn − 1 =

  • j

p(j)(x) some of the p(j)(x)’s can form g(x) and the others h(x);

  • The zeros of a code,
  • let C = g(x) 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