simulating the constructions of finite fields using maplets l oeky h aryanto mathematics department,...

43
SIMULATING THE CONSTRUCTIONS OF FINITE FIELDS USING MAPLETS LOEKY HARYANTO Mathematics Department, Hasanuddin University, email: [email protected] [email protected] GSM#s: +6281342127598 Related presentations (will be uploaded soon): Factorization of x N 1 over F p

Upload: asher-barnett

Post on 03-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

SIMULATING THE CONSTRUCTIONS OF FINITE

FIELDS USING MAPLETSLOEKY HARYANTO

Mathematics Department, Hasanuddin University, email: [email protected]

[email protected]#s: +6281342127598

Related presentations (will be uploaded soon): Factorization of xN 1 over Fp

A MOTIVATION FOR EVERY ABSTRACT ALGEBRA INSTRUCTOR: USE THIS PRESENTATION AS A NEW STRATEGY FOR STUDENT-CENTERED LEARNING

(SCL) METHOD.The Maplet copies here were created to make students firstly being familiar with (not necessarily mastering the theory of)

finite fields before the students being introduced with the theoretical parts of the subject; e.g. before they were given some formal theories which were written in the next page!

By the way, since mathematics is a language which is full of written symbols, without visual and ‘seemingly’ interactive presentations, most of students tend to sleep in abstract algebra classes. Nevertheless, IMO most strategies proposed for the SCL method by experts in education are not appropriate for math classes, or even worse than the common usual (old) teaching method.

Theoretical Review

Given a prime p and a polynomial f(x) Fp[x] of degree m. Let q = pm. We need f(x) to be primitive; i.e. it has a primitive root a that generates the following multiplicative group of order N = pm

1Fq

* ={1, a, a2, …, aN1}.

If a is primitive, then using the element 0 f (a), the (additive) factor group Fp[x]/(f(x)) and with the obvious multiplicative operator, we can construct a field by identifying the isomorphism

Fp[x]/(f(x)) Fq = Fq* {0} = {0, 1, a, a2, …, aN1}.

Main reference:

Chapter 3 of W. C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, Cambridge Univ. Press, 2003

How Maplet determines if Fp[x]/(f(x)) Fq or Fp[x]/(g(x)) Fq?Compute the order of the quotient rings! (Should be equal to pm)Is q1 = |Fp[x]/(f(x))| = pm? Is q2 = |Fp[x]/(g(x))| = pm?

Here F2[x]/(f(x)) ≇ F32 and F2[x]/(g(x)) F16

Wait, CONFUSING NOTATIONS FOR NEW LEARNERS:

Different notations for the same mathematical object:

1. Fp or GF(p) or Zp are three different notations for the same (prime) field; where p is prime and

Fp = {0, 1, …, p 1}.

2. Fq or GF(q) are two different notations for the same field; the field

Fq = {0, 1, a, a2 …, aq2} = Fp[x]/(f(x))

where f is primitive and of degree m, q = pm. For every k m, the ak can be presented as a polynomial of degree < m in the indeterminate a. When N = pm 1, we have aq2 = aN1.

3. More confusing for a new learner is the identification between the field Fq and its associate linear space:

Fq = Fp Fp … Fp

where the right hand side consists of m factors.

A little bit of group theory:A CYCLIC GROUP GENERATED BY A ZERO OF A

PRIMITIVE POLYNOMIAL f(x) OF DEGREE m.The zero of f(x) is a, i.e. f(a) = 0.

Symbols:

q = pm, N = q – 1 = pm 1.

The intended constructed finite field of characteristic p is

Fq (or GF(q) = GF(pm))The cyclic group is

<a> = {1, a, a2, …, aN1} = Fq* = Fq

DO NOT TRY TO MEMORIZE ALL THESE SYMBOLS RIGHT NOW. YOU WILL REMEMBER MOST OF THEM ONCE YOUR INSTRUCTOR KEEPS RUNNING AND EXPLAINING THE MATERIAL IN THIS PRESENTATION

Notice thata16 = a1.

Notice thata18 = a3.

Notice thata20 = a5.

Notice thata22 = a7.

Notice thata24 = a9.

Notice thata26 = a11.

Notice thata28 = a13.

Notice thata30 = a15.

A little bit of finite field’s theory:

THE SUBFIELD Fs OF THE FIELD Fq

where q = pm and s = pr.

Here, Fq is the quotient ring F2[x]/<f(x)> where f(x) = x6 + x + 1.

THEOREM (Huffman, Pless, Th. 3.5.3 (modified)):

When q = pm and s = pr

(i) Fq has subfield Fs if and only if r | m;

(ii) if r | m, then there is only one field of order s, which is Fs, of the field Fq

The Maplets make use p = 2, q = 64 and s = 8 (equivalently, m = 6 and r = 3) The constructed finite field of order 26 (including its elements) is

F64 (or GF(64))

The constructed subfield of order 23 (including its elements) is

F8 (or GF(8))DO NOT TRY TO MEMORIZE THESE THEORIES RIGHT NOW. YOU WILL REMEMBER MOST OF THEM ONCE YOUR INSTRUCTOR KEEPS RUNNING AND EXPLAINING THE MATERIAL IN THIS

PRESENTATION

a0 = 1,

b = a9,

b0 = 1

or

a0 = 1,

b = a4+a3

b0 = 1

F64* = <a> < a9> = F8

*

a1 = a,

b = a9,

b1 = a9

or

a1 = a,

b = a4 + a3,

b1 = a4 + a3,

F64* = <a> < a9> = F8

*

F64* = <a> < a9> = F8

*

a2 = a2,

b = a9,

b2 = a18

or

a2 = a2,

b = a4 + a3,

b2 = a3 +a2

+ a1 + 1

a3 = a3,

b = a9,

b3 = a27

or

a3 = a3,

b = a4+a3

b3 = a3+ a2

+ a

F64* = <a> < a9> = F8

*

a4 = a4,

b = a9,

b4 = a36

or

a4 = a4,

b = a4+a3

b4 = a4+ a2

+ a

F64* = <a> < a9> = F8

*

a5 = a5,

b = a9,

b5 = a45

or

a5 = a5,

b = a4+a3

b5 = a4+ a3

+ 1

F64* = <a> < a9> = F8

*

a6 = a6,

b = a9,

b6 = a54

or

a6 = a + 1

b = a4 + a3

b6 = a4 + a2 + a + 1

F64* = <a> < a9> = F8

*

a7 = a7,

b = a9,

b7 = a63

or

a7 = a2 + a

b = a4 + a3

b7 = 1

F64* = <a> < a9> = F8

*

a8 = a8,

b = a9,

b8 = a72

or

a8 = a3 + a2

b = a4 + a3

b8 = a4 + a3

F64* = <a> < a9> = F8

*

a9 = a9,

b = a9,

b9 = a81

or

a9 = a4 + a3

b = a4 + a3

b9 = a3 + a2 + a + 1

F64* = <a> < a9> = F8

*

a10 = a10,

b = a9,

b10 = a90

or

a10 = a5 + a4 b = a4 + a3

b10 = a3 + a2 + a

F64* = <a> < a9> = F8

*

a11 = a11,

b = a9,

b11 = a99

or

a11 = a5 + a + 1

b = a4 + a3

b11 = a4 + a2 + a

F64* = <a> < a9> = F8

*

a12 = a12,

b = a9,

b12 = a108

or

a12 = a2 + 1

b = a4 + a3

b12 = a4 + a3 + 1

F64* = <a> < a9> = F8

*

a13 = a13,

b = a9,

b13 = a117

or

a13 = a3 + a

b = a4 + a3

b13 = a4 + a2 + a + 1

F64* = <a> < a9> = F8

*

a14 = a14,

b = a9,

b14 = a126

or

a14 = a4 + a2

b = a4 + a3

b14 = 1

F64* = <a> < a9> = F8

*

a61 = a61,

b = a9,

b61 = a549

or

a61 = a5 + a4 + 1

b = a4 + a3

b61 = a4 + a3 + 1

F64* = <a> < a9> = F8

*

a62 = a62,

b = a9,

b62 = a558

or

a62 = a5 + 1

b = a4 + a3

b61 = a4 + a2 + a + 1

F64* = <a> < a9> = F8

*

a63 = a63,

b = a9,

b63 = a567

or

a63 = 1

b = a4 + a3

b63 = 1

F64* = <a> < a9> = F8

*

Conclusion