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 coding theory 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 Hamming distance 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 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. 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