simulating the constructions of finite fields using maplets l oeky h aryanto mathematics department,...
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?
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
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
a11 = a11,
b = a9,
b11 = a99
or
a11 = a5 + a + 1
b = a4 + a3
b11 = a4 + a2 + a
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
*
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
*