Information Theory The Field GF(p )

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