Finite fields: An introduction. Part II.

Vlad Gheorghiu

Department of Physics Carnegie Mellon University Pittsburgh, PA 15213, U.S.A.

August 7, 2008

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 1 / 18 Outline

1 Brief review of Part I (Jul 2, 2008)

2 Construction of finite fields Polynomials over finite fields n Explicit construction of the finite field Fq, with q = p . Examples

3 Classical Decoding methods The Coset-Leader Algorithm Examples

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 2 / 18 Examples The structure of finite fields 2 Classical codes over finite fields Linear codes: basic properties Encoding methods as a metric

Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 The structure of finite fields 2 Classical codes over finite fields Linear codes: basic properties Encoding methods Hamming distance as a metric

Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions Examples

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 2 Classical codes over finite fields Linear codes: basic properties Encoding methods Hamming distance as a metric

Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions Examples The structure of finite fields

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 Encoding methods Hamming distance as a metric

Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions Examples The structure of finite fields 2 Classical codes over finite fields Linear codes: basic properties

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 Hamming distance as a metric

Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions Examples The structure of finite fields 2 Classical codes over finite fields Linear codes: basic properties Encoding methods

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 Brief review of Part I (Jul 2, 2008) Brief review of Part I

1 Finite fields Definitions Examples The structure of finite fields 2 Classical codes over finite fields Linear codes: basic properties Encoding methods Hamming distance as a metric

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 3 / 18 We can define the sum and product of two polynomials using the usual rules of addition and multiplication over F. Example: let f (x) = x2 + 2x + 1 and g(x) = 2x + 1 be two polynomials over F3. Then f (x) + g(x) = x2 + x + 2 and f (x)g(x) = 2x3 + 2x2 + x + 1.

The polynomials over a finite field F form an integral domain and are denoted by F[x].

Construction of finite fields Polynomials over finite fields Polynomials over finite fields

Let F be a finite field. A polynomial over F is an expression of the form n X i n f (x) = ai x = a0 + a1x + ··· + anx i=1 where n = deg(f ) is a nonnegative integer called the degree of f (x), ai ∈ F for all 0 6 i 6 n and x is a symbol not belonging to F, called an indeterminate over F.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 4 / 18 Example: let f (x) = x2 + 2x + 1 and g(x) = 2x + 1 be two polynomials over F3. Then f (x) + g(x) = x2 + x + 2 and f (x)g(x) = 2x3 + 2x2 + x + 1.

The polynomials over a finite field F form an integral domain and are denoted by F[x].

Construction of finite fields Polynomials over finite fields Polynomials over finite fields

Let F be a finite field. A polynomial over F is an expression of the form n X i n f (x) = ai x = a0 + a1x + ··· + anx i=1 where n = deg(f ) is a nonnegative integer called the degree of f (x), ai ∈ F for all 0 6 i 6 n and x is a symbol not belonging to F, called an indeterminate over F. We can define the sum and product of two polynomials using the usual rules of addition and multiplication over F.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 4 / 18 The polynomials over a finite field F form an integral domain and are denoted by F[x].

Construction of finite fields Polynomials over finite fields Polynomials over finite fields

Let F be a finite field. A polynomial over F is an expression of the form n X i n f (x) = ai x = a0 + a1x + ··· + anx i=1 where n = deg(f ) is a nonnegative integer called the degree of f (x), ai ∈ F for all 0 6 i 6 n and x is a symbol not belonging to F, called an indeterminate over F. We can define the sum and product of two polynomials using the usual rules of addition and multiplication over F. Example: let f (x) = x2 + 2x + 1 and g(x) = 2x + 1 be two polynomials over F3. Then f (x) + g(x) = x2 + x + 2 and f (x)g(x) = 2x3 + 2x2 + x + 1.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 4 / 18 Construction of finite fields Polynomials over finite fields Polynomials over finite fields

Let F be a finite field. A polynomial over F is an expression of the form n X i n f (x) = ai x = a0 + a1x + ··· + anx i=1 where n = deg(f ) is a nonnegative integer called the degree of f (x), ai ∈ F for all 0 6 i 6 n and x is a symbol not belonging to F, called an indeterminate over F. We can define the sum and product of two polynomials using the usual rules of addition and multiplication over F. Example: let f (x) = x2 + 2x + 1 and g(x) = 2x + 1 be two polynomials over F3. Then f (x) + g(x) = x2 + x + 2 and f (x)g(x) = 2x3 + 2x2 + x + 1.

The polynomials over a finite field F form an integral domain and are denoted by F[x].

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 4 / 18 5 4 Example: Consider f (x) = 2x + x + 4x + 3 ∈ F5[x], 2 3 2 g(x) = 3x + 1 ∈ F5[x]. Then q(x) = 4x + 2x + 2x + 1 and r(x) = 2x + 2, with deg(r)

A polynomial with the leading term an = 1 is called a monic polynomial. A polynomial of degree zero is called a constant polynomial.

Construction of finite fields Polynomials over finite fields

Theorem 1: Division Algorithm

Let g 6= 0 be a polynomial in F[x]. Then for any f ∈ F[x] there exist polynomials q, r ∈ F[x] such that

f = qg + r, where deg(r) < deg(g).

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 5 / 18 A polynomial with the leading term an = 1 is called a monic polynomial. A polynomial of degree zero is called a constant polynomial.

Construction of finite fields Polynomials over finite fields

Theorem 1: Division Algorithm

Let g 6= 0 be a polynomial in F[x]. Then for any f ∈ F[x] there exist polynomials q, r ∈ F[x] such that

f = qg + r, where deg(r) < deg(g).

5 4 Example: Consider f (x) = 2x + x + 4x + 3 ∈ F5[x], 2 3 2 g(x) = 3x + 1 ∈ F5[x]. Then q(x) = 4x + 2x + 2x + 1 and r(x) = 2x + 2, with deg(r)

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 5 / 18 Construction of finite fields Polynomials over finite fields

Theorem 1: Division Algorithm

Let g 6= 0 be a polynomial in F[x]. Then for any f ∈ F[x] there exist polynomials q, r ∈ F[x] such that

f = qg + r, where deg(r) < deg(g).

5 4 Example: Consider f (x) = 2x + x + 4x + 3 ∈ F5[x], 2 3 2 g(x) = 3x + 1 ∈ F5[x]. Then q(x) = 4x + 2x + 2x + 1 and r(x) = 2x + 2, with deg(r)

A polynomial with the leading term an = 1 is called a monic polynomial. A polynomial of degree zero is called a constant polynomial.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 5 / 18 A polynomial p ∈ F[x] is said to be irreducible over F (or prime in F[x]) if p has positive degree and p = bc with b, c ∈ F[x] implies that either b or c is a constant polynomial. 2 Example: x − 2 ∈ Q[x] is irreducible√ √ over the field Q of rational 2 numbers, but x − 2 = (x + 2)(x − 2) is reducible over the field R of real numbers.

Construction of finite fields Polynomials over finite fields

Theorem 2: Greatest Common Divisor

Let f1, f2,..., fn be polynomials in F[x] not all of which are 0. Then there exists a uniquely determined monic polynomial d ∈ F[x] with the following properties: (i) d divides each fj , 1 6 j 6 n; (ii) any polynomial c ∈ F[x] dividing each fj , 1 6 j 6 n, divides d. Moreover, d can be expressed in the form

d = b1f1 + b2f2 + ··· + bnfn, with b1, b2,..., bn ∈ F[x].

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 6 / 18 2 Example: x − 2 ∈ Q[x] is irreducible√ √ over the field Q of rational 2 numbers, but x − 2 = (x + 2)(x − 2) is reducible over the field R of real numbers.

Construction of finite fields Polynomials over finite fields

Theorem 2: Greatest Common Divisor

Let f1, f2,..., fn be polynomials in F[x] not all of which are 0. Then there exists a uniquely determined monic polynomial d ∈ F[x] with the following properties: (i) d divides each fj , 1 6 j 6 n; (ii) any polynomial c ∈ F[x] dividing each fj , 1 6 j 6 n, divides d. Moreover, d can be expressed in the form

d = b1f1 + b2f2 + ··· + bnfn, with b1, b2,..., bn ∈ F[x].

A polynomial p ∈ F[x] is said to be irreducible over F (or prime in F[x]) if p has positive degree and p = bc with b, c ∈ F[x] implies that either b or c is a constant polynomial.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 6 / 18 Construction of finite fields Polynomials over finite fields

Theorem 2: Greatest Common Divisor

Let f1, f2,..., fn be polynomials in F[x] not all of which are 0. Then there exists a uniquely determined monic polynomial d ∈ F[x] with the following properties: (i) d divides each fj , 1 6 j 6 n; (ii) any polynomial c ∈ F[x] dividing each fj , 1 6 j 6 n, divides d. Moreover, d can be expressed in the form

d = b1f1 + b2f2 + ··· + bnfn, with b1, b2,..., bn ∈ F[x].

A polynomial p ∈ F[x] is said to be irreducible over F (or prime in F[x]) if p has positive degree and p = bc with b, c ∈ F[x] implies that either b or c is a constant polynomial. 2 Example: x − 2 ∈ Q[x] is irreducible√ √ over the field Q of rational 2 numbers, but x − 2 = (x + 2)(x − 2) is reducible over the field R of real numbers.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 6 / 18 The above equation is called the canonical factorization of the polynomial f in F[x]. Central question about polynomials in F[x]: decide if it is reducible or not. Not a trivial problem.

Construction of finite fields Polynomials over finite fields

Theorem 3: Unique Factorization in F[x]

Any polynomial f ∈ F[x] of positive degree can be written in the form

e1 22 ek f = ap1 p2 ··· pk , where a ∈ F, p1, p2,..., pk are distinct monic irreducible polynomials in F[x], and e1, e2,..., ek are positive integers. Moreover, this factorization is unique apart from the order in which the factors occur.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 7 / 18 Central question about polynomials in F[x]: decide if it is reducible or not. Not a trivial problem.

Construction of finite fields Polynomials over finite fields

Theorem 3: Unique Factorization in F[x]

Any polynomial f ∈ F[x] of positive degree can be written in the form

e1 22 ek f = ap1 p2 ··· pk , where a ∈ F, p1, p2,..., pk are distinct monic irreducible polynomials in F[x], and e1, e2,..., ek are positive integers. Moreover, this factorization is unique apart from the order in which the factors occur.

The above equation is called the canonical factorization of the polynomial f in F[x].

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 7 / 18 Construction of finite fields Polynomials over finite fields

Theorem 3: Unique Factorization in F[x]

Any polynomial f ∈ F[x] of positive degree can be written in the form

e1 22 ek f = ap1 p2 ··· pk , where a ∈ F, p1, p2,..., pk are distinct monic irreducible polynomials in F[x], and e1, e2,..., ek are positive integers. Moreover, this factorization is unique apart from the order in which the factors occur.

The above equation is called the canonical factorization of the polynomial f in F[x]. Central question about polynomials in F[x]: decide if it is reducible or not. Not a trivial problem.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 7 / 18 Theorem 4

An element b ∈ F is a root of the polynomial f ∈ F[x] if and only if x − b divides f (x).

If f is an irreducible polynomial in F[x] of degree > 2, then Theorem 4 shows that f has no root in F. The converse holds for polynomials of degree 2 or 3, but not necessarily for polynomials of higher degree. Theorem 5

The polynomial f ∈ F[x] of degree 2 or 3 is irreducible in F[x] if and only if f has no root in F.

Construction of finite fields Polynomials over finite fields

An element b ∈ F is called a root (or a zero) of the polynomial f ∈ F[x] if f (b) = 0.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 8 / 18 If f is an irreducible polynomial in F[x] of degree > 2, then Theorem 4 shows that f has no root in F. The converse holds for polynomials of degree 2 or 3, but not necessarily for polynomials of higher degree. Theorem 5

The polynomial f ∈ F[x] of degree 2 or 3 is irreducible in F[x] if and only if f has no root in F.

Construction of finite fields Polynomials over finite fields

An element b ∈ F is called a root (or a zero) of the polynomial f ∈ F[x] if f (b) = 0. Theorem 4

An element b ∈ F is a root of the polynomial f ∈ F[x] if and only if x − b divides f (x).

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 8 / 18 Theorem 5

The polynomial f ∈ F[x] of degree 2 or 3 is irreducible in F[x] if and only if f has no root in F.

Construction of finite fields Polynomials over finite fields

An element b ∈ F is called a root (or a zero) of the polynomial f ∈ F[x] if f (b) = 0. Theorem 4

An element b ∈ F is a root of the polynomial f ∈ F[x] if and only if x − b divides f (x).

If f is an irreducible polynomial in F[x] of degree > 2, then Theorem 4 shows that f has no root in F. The converse holds for polynomials of degree 2 or 3, but not necessarily for polynomials of higher degree.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 8 / 18 Construction of finite fields Polynomials over finite fields

An element b ∈ F is called a root (or a zero) of the polynomial f ∈ F[x] if f (b) = 0. Theorem 4

An element b ∈ F is a root of the polynomial f ∈ F[x] if and only if x − b divides f (x).

If f is an irreducible polynomial in F[x] of degree > 2, then Theorem 4 shows that f has no root in F. The converse holds for polynomials of degree 2 or 3, but not necessarily for polynomials of higher degree. Theorem 5

The polynomial f ∈ F[x] of degree 2 or 3 is irreducible in F[x] if and only if f has no root in F.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 8 / 18 n In other words, to construct the finite field Fq, with q = p , 1 Select a monic irreducible polynomial f (x) of degree n in Fp[x] (it always exists).

2 The distinct residue classes comprising Fq[x]/f are described explicitly as r + (f ), where r runs through all polynomials in Fp with deg(r)

n Construction of finite fields Explicit construction of the finite field Fq , with q = p . Explicit construction of the finite field Fq

Theorem 6

For f ∈ F[x], the residue class ring F[x]/f is a field if and only if f is irreducible over F.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 9 / 18 1 Select a monic irreducible polynomial f (x) of degree n in Fp[x] (it always exists).

2 The distinct residue classes comprising Fq[x]/f are described explicitly as r + (f ), where r runs through all polynomials in Fp with deg(r)

n Construction of finite fields Explicit construction of the finite field Fq , with q = p . Explicit construction of the finite field Fq

Theorem 6

For f ∈ F[x], the residue class ring F[x]/f is a field if and only if f is irreducible over F. n In other words, to construct the finite field Fq, with q = p ,

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 9 / 18 2 The distinct residue classes comprising Fq[x]/f are described explicitly as r + (f ), where r runs through all polynomials in Fp with deg(r)

n Construction of finite fields Explicit construction of the finite field Fq , with q = p . Explicit construction of the finite field Fq

Theorem 6

For f ∈ F[x], the residue class ring F[x]/f is a field if and only if f is irreducible over F. n In other words, to construct the finite field Fq, with q = p , 1 Select a monic irreducible polynomial f (x) of degree n in Fp[x] (it always exists).

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 9 / 18 3 Identify each element of Fq by an equivalence class. Construct the field table by computing sums and product of polynomials modulo f .

n Construction of finite fields Explicit construction of the finite field Fq , with q = p . Explicit construction of the finite field Fq

Theorem 6

For f ∈ F[x], the residue class ring F[x]/f is a field if and only if f is irreducible over F. n In other words, to construct the finite field Fq, with q = p , 1 Select a monic irreducible polynomial f (x) of degree n in Fp[x] (it always exists).

2 The distinct residue classes comprising Fq[x]/f are described explicitly as r + (f ), where r runs through all polynomials in Fp with deg(r)

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 9 / 18 n Construction of finite fields Explicit construction of the finite field Fq , with q = p . Explicit construction of the finite field Fq

Theorem 6

For f ∈ F[x], the residue class ring F[x]/f is a field if and only if f is irreducible over F. n In other words, to construct the finite field Fq, with q = p , 1 Select a monic irreducible polynomial f (x) of degree n in Fp[x] (it always exists).

2 The distinct residue classes comprising Fq[x]/f are described explicitly as r + (f ), where r runs through all polynomials in Fp with deg(r)

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 9 / 18 2 Choose f (x) = x + x + 1 ∈ F2[x]. The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.The addition and multiplication tables are: + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)).

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.The addition and multiplication tables are: + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)). 2 Choose f (x) = x + x + 1 ∈ F2[x].

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 The addition and multiplication tables are: + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)). 2 Choose f (x) = x + x + 1 ∈ F2[x]. The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)). 2 Choose f (x) = x + x + 1 ∈ F2[x]. The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.The addition and multiplication tables are:

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)). 2 Choose f (x) = x + x + 1 ∈ F2[x]. The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.The addition and multiplication tables are: + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 Construction of finite fields Examples Examples

The finite field F4 (also called GF (4)). 2 Choose f (x) = x + x + 1 ∈ F2[x]. The residue classes of F2[x]/f are {[0], [1], [x], [x + 1]}.The addition and multiplication tables are: + [0] [1] [x][x + 1] [0] [0] [1] [x][x + 1] [1] [1] [0] [x + 1] [x] [x] [x][x + 1] [0] [1] [x + 1] [x + 1] [x] [1] [0] and ∗ [0] [1] [x][x + 1] [0] [0] [0] [0] [0] [1] [0] [1] [x][x + 1] [x] [0] [x][x + 1] [1] [x + 1] [0] [x + 1] [1] [x]

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 10 / 18 2 Choose f (x) = x + 1 ∈ F3[x]. The residue classes of F3[x]/f are {[0], [1], [2], [x], [x + 1], [x + 2], [2x], [2x + 1], [2x + 2]}. Construct the addition and multiplication table. Too much LATEXcode to be put in a single slide...

Construction of finite fields Examples

The finite field F9.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 11 / 18 The residue classes of F3[x]/f are {[0], [1], [2], [x], [x + 1], [x + 2], [2x], [2x + 1], [2x + 2]}. Construct the addition and multiplication table. Too much LATEXcode to be put in a single slide...

Construction of finite fields Examples

The finite field F9. 2 Choose f (x) = x + 1 ∈ F3[x].

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 11 / 18 Construct the addition and multiplication table. Too much LATEXcode to be put in a single slide...

Construction of finite fields Examples

The finite field F9. 2 Choose f (x) = x + 1 ∈ F3[x]. The residue classes of F3[x]/f are {[0], [1], [2], [x], [x + 1], [x + 2], [2x], [2x + 1], [2x + 2]}.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 11 / 18 Construction of finite fields Examples

The finite field F9. 2 Choose f (x) = x + 1 ∈ F3[x]. The residue classes of F3[x]/f are {[0], [1], [2], [x], [x + 1], [x + 2], [2x], [2x + 1], [2x + 2]}. Construct the addition and multiplication table. Too much LATEXcode to be put in a single slide...

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 11 / 18 Theorem 7

A code C with minimum distance dC can correct up to t errors if dC > 2t + 1.

Proof. n n A ball Bt (x) of radius t and center x ∈ Fq consists of all vectors y ∈ Fq such that d(x, y) 6 t. The nearest neighbor decoding rule ensures that each received word with t or fewer errors must be in a ball of radius t and center the transmitted code word. To correct t errors, the balls with code words x as centers must not overlap. If u ∈ Bt (x) and u ∈ Bt (y), x, y ∈ C, x 6= y, then

d(x, y) 6 d(x, u) + d(u, y) 6 2t,

a contradiction to dC > 2t + 1.

Classical coding theory Decoding methods Decoding methods

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 12 / 18 Proof. n n A ball Bt (x) of radius t and center x ∈ Fq consists of all vectors y ∈ Fq such that d(x, y) 6 t. The nearest neighbor decoding rule ensures that each received word with t or fewer errors must be in a ball of radius t and center the transmitted code word. To correct t errors, the balls with code words x as centers must not overlap. If u ∈ Bt (x) and u ∈ Bt (y), x, y ∈ C, x 6= y, then

d(x, y) 6 d(x, u) + d(u, y) 6 2t,

a contradiction to dC > 2t + 1.

Classical coding theory Decoding methods Decoding methods

Theorem 7

A code C with minimum distance dC can correct up to t errors if dC > 2t + 1.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 12 / 18 Classical coding theory Decoding methods Decoding methods

Theorem 7

A code C with minimum distance dC can correct up to t errors if dC > 2t + 1.

Proof. n n A ball Bt (x) of radius t and center x ∈ Fq consists of all vectors y ∈ Fq such that d(x, y) 6 t. The nearest neighbor decoding rule ensures that each received word with t or fewer errors must be in a ball of radius t and center the transmitted code word. To correct t errors, the balls with code words x as centers must not overlap. If u ∈ Bt (x) and u ∈ Bt (y), x, y ∈ C, x 6= y, then

d(x, y) 6 d(x, u) + d(u, y) 6 2t, a contradiction to dC > 2t + 1.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 12 / 18 Lemma 8 A C with parity-check matrix H has minimum distance DC > s + 1 if and only if any s columns of H are linearly independent.

Proof. Assume there are s linearly dependent columns of H, then HcT = 0 and wt(c) 6 s for suitable c ∈ C, c 6= 0, hence dC 6 s. Similarly, if any s columns of H are linearly independent, then there is no c ∈ C, c 6= 0, of weight 6 s, hence dC > s + 1.

Classical coding theory Decoding methods

The following lemma is useful for determining the minimum distance of a code

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 13 / 18 Proof. Assume there are s linearly dependent columns of H, then HcT = 0 and wt(c) 6 s for suitable c ∈ C, c 6= 0, hence dC 6 s. Similarly, if any s columns of H are linearly independent, then there is no c ∈ C, c 6= 0, of weight 6 s, hence dC > s + 1.

Classical coding theory Decoding methods

The following lemma is useful for determining the minimum distance of a code Lemma 8 A linear code C with parity-check matrix H has minimum distance DC > s + 1 if and only if any s columns of H are linearly independent.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 13 / 18 Classical coding theory Decoding methods

The following lemma is useful for determining the minimum distance of a code Lemma 8 A linear code C with parity-check matrix H has minimum distance DC > s + 1 if and only if any s columns of H are linearly independent.

Proof. Assume there are s linearly dependent columns of H, then HcT = 0 and wt(c) 6 s for suitable c ∈ C, c 6= 0, hence dC 6 s. Similarly, if any s columns of H are linearly independent, then there is no c ∈ C, c 6= 0, of weight 6 s, hence dC > s + 1.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 13 / 18 n The vector space Fq/C consists of all cosets

a + C = {a + c : c ∈ C}

n with a ∈ Fq. k n Each coset contains q vectors and Fq can be regarded as being partitioned into cosets of C, namely

n (0) (1) (s) Fq = (a + C) ∪ (a + C) ∪ · · · (a + C),

where a(0) = 0 and s = qn−k − 1. A received vector y must be in one of the cosets, say a(i) + C. If the codeword c was transmitted, then the error is given by e = y − c = a(i) + z ∈ a(i) + C for suitable z ∈ C.

Classical coding theory The Coset-Leader Algorithm The Coset-Leader Algorithm

Let C be a (n, k) linear code over Fq.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 14 / 18 k n Each coset contains q vectors and Fq can be regarded as being partitioned into cosets of C, namely

n (0) (1) (s) Fq = (a + C) ∪ (a + C) ∪ · · · (a + C),

where a(0) = 0 and s = qn−k − 1. A received vector y must be in one of the cosets, say a(i) + C. If the codeword c was transmitted, then the error is given by e = y − c = a(i) + z ∈ a(i) + C for suitable z ∈ C.

Classical coding theory The Coset-Leader Algorithm The Coset-Leader Algorithm

Let C be a (n, k) linear code over Fq. n The vector space Fq/C consists of all cosets

a + C = {a + c : c ∈ C}

n with a ∈ Fq.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 14 / 18 n (0) (1) (s) Fq = (a + C) ∪ (a + C) ∪ · · · (a + C),

where a(0) = 0 and s = qn−k − 1. A received vector y must be in one of the cosets, say a(i) + C. If the codeword c was transmitted, then the error is given by e = y − c = a(i) + z ∈ a(i) + C for suitable z ∈ C.

Classical coding theory The Coset-Leader Algorithm The Coset-Leader Algorithm

Let C be a (n, k) linear code over Fq. n The vector space Fq/C consists of all cosets

a + C = {a + c : c ∈ C}

n with a ∈ Fq. k n Each coset contains q vectors and Fq can be regarded as being partitioned into cosets of C, namely

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 14 / 18 A received vector y must be in one of the cosets, say a(i) + C. If the codeword c was transmitted, then the error is given by e = y − c = a(i) + z ∈ a(i) + C for suitable z ∈ C.

Classical coding theory The Coset-Leader Algorithm The Coset-Leader Algorithm

Let C be a (n, k) linear code over Fq. n The vector space Fq/C consists of all cosets

a + C = {a + c : c ∈ C}

n with a ∈ Fq. k n Each coset contains q vectors and Fq can be regarded as being partitioned into cosets of C, namely

n (0) (1) (s) Fq = (a + C) ∪ (a + C) ∪ · · · (a + C),

where a(0) = 0 and s = qn−k − 1.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 14 / 18 Classical coding theory The Coset-Leader Algorithm The Coset-Leader Algorithm

Let C be a (n, k) linear code over Fq. n The vector space Fq/C consists of all cosets

a + C = {a + c : c ∈ C}

n with a ∈ Fq. k n Each coset contains q vectors and Fq can be regarded as being partitioned into cosets of C, namely

n (0) (1) (s) Fq = (a + C) ∪ (a + C) ∪ · · · (a + C),

where a(0) = 0 and s = qn−k − 1. A received vector y must be in one of the cosets, say a(i) + C. If the codeword c was transmitted, then the error is given by e = y − c = a(i) + z ∈ a(i) + C for suitable z ∈ C.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 14 / 18 The most likely error vector is the vector e with minimum weight in the coset of y. Thus we decode y as x = y − e. Definition n n Let C ⊆ Fq be a linear (n, k) code and let Fq/C be the factor space. An element of minimum weight in a coset a + C is called coset leader of a + C. If several vectors in a + C have minimum weight, we choose one of them as coset leader.

Classical coding theory The Coset-Leader Algorithm

All possible error vectors e of a received vector y are the vectors in the coset of y.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 15 / 18 Thus we decode y as x = y − e. Definition n n Let C ⊆ Fq be a linear (n, k) code and let Fq/C be the factor space. An element of minimum weight in a coset a + C is called coset leader of a + C. If several vectors in a + C have minimum weight, we choose one of them as coset leader.

Classical coding theory The Coset-Leader Algorithm

All possible error vectors e of a received vector y are the vectors in the coset of y. The most likely error vector is the vector e with minimum weight in the coset of y.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 15 / 18 Definition n n Let C ⊆ Fq be a linear (n, k) code and let Fq/C be the factor space. An element of minimum weight in a coset a + C is called coset leader of a + C. If several vectors in a + C have minimum weight, we choose one of them as coset leader.

Classical coding theory The Coset-Leader Algorithm

All possible error vectors e of a received vector y are the vectors in the coset of y. The most likely error vector is the vector e with minimum weight in the coset of y. Thus we decode y as x = y − e.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 15 / 18 Classical coding theory The Coset-Leader Algorithm

All possible error vectors e of a received vector y are the vectors in the coset of y. The most likely error vector is the vector e with minimum weight in the coset of y. Thus we decode y as x = y − e. Definition n n Let C ⊆ Fq be a linear (n, k) code and let Fq/C be the factor space. An element of minimum weight in a coset a + C is called coset leader of a + C. If several vectors in a + C have minimum weight, we choose one of them as coset leader.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 15 / 18 Theorem 9

n For y, z ∈ Fq we have: 1 S(y) = 0 if and only if y ∈ C 2 S(y) = S(z) if and only if y + C = z + C

Proof. 1) follows immediately from the definition of C in terms of H. For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 1 S(y) = 0 if and only if y ∈ C 2 S(y) = S(z) if and only if y + C = z + C

Proof. 1) follows immediately from the definition of C in terms of H. For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Theorem 9

n For y, z ∈ Fq we have:

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 2 S(y) = S(z) if and only if y + C = z + C

Proof. 1) follows immediately from the definition of C in terms of H. For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Theorem 9

n For y, z ∈ Fq we have: 1 S(y) = 0 if and only if y ∈ C

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 Proof. 1) follows immediately from the definition of C in terms of H. For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Theorem 9

n For y, z ∈ Fq we have: 1 S(y) = 0 if and only if y ∈ C 2 S(y) = S(z) if and only if y + C = z + C

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Theorem 9

n For y, z ∈ Fq we have: 1 S(y) = 0 if and only if y ∈ C 2 S(y) = S(z) if and only if y + C = z + C

Proof. 1) follows immediately from the definition of C in terms of H.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 Classical coding theory The Coset-Leader Algorithm

Definition Let H be the parity-check matrix of a linear (n, k) code C. Then the vector S(y) = HyT of length n − k is called the syndrome of y.

Theorem 9

n For y, z ∈ Fq we have: 1 S(y) = 0 if and only if y ∈ C 2 S(y) = S(z) if and only if y + C = z + C

Proof. 1) follows immediately from the definition of C in terms of H. For 2) note that S(y) = S(z) if and only if HyT = HzT if and only if H(y − z)T = 0 if and only if y − z ∈ C if and only if y + C = z + C.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 16 / 18 S(y) = S(c + e) = S(c) + S(e) = S(e)

and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm. The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector. 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm. The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector. 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

S(y) = S(c + e) = S(c) + S(e) = S(e)

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector. 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

S(y) = S(c + e) = S(c) + S(e) = S(e)

and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

S(y) = S(c + e) = S(c) + S(e) = S(e)

and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm. The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

S(y) = S(c + e) = S(c) + S(e) = S(e)

and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm. The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector. 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 Classical coding theory The Coset-Leader Algorithm

n If e = y − c, c ∈ C, y ∈ Fq, then

S(y) = S(c + e) = S(c) + S(e) = S(e)

and y and e are in the same coset. The coset leader of that coset also has the same syndrome. We have the following decoding algorithm. The Coset-Leader Algorithm

n 1 Let C ⊆ Fq be a linear (n, k) code and let y be the received vector. 2 To correct errors in y, calculate S(y) and find the coset leader, say e, with syndrome equal to S(y.

3 Then decode y as x = y − e. Here x is the code word with minimum distance to y.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 17 / 18 Classical coding theory Examples Coset-Leader example

Discuss it on the board.

Vlad Gheorghiu (CMU) Finite fields: An introduction. Part II. August 7, 2008 18 / 18