Extension fields and multiplicative inverses
İMike May, S.J., maymk@slu.edu, Saint Louis University
| > | restart: |
Given a field K, and a polynomial f(x), we know that the quotient ring L = K[x]/(f(x)) is a field if and only if f(x) is irreducible. In that case the ideal (f(x)) is both prime and maximal.
The proof that L is a field is straight forward, using the maximality of the ideal (f(x)). Unfortunately, the proof that L is a field only gives an existence proof for inverses. It does not give an efficient means to compute in the extension field L This worksheet gives an easy way to use Maple to find inverses, and thus to compute in these extension fields.
Case 1: The Gaussian rationals, Q[I]
We start with the Gaussian rationals, a field in which we know how to compute.
The field of Gaussian rationals Q[I], is isomorphic to the quotient ring Q[x]/(
). This means that the usual ring operations of addition, subtraction, and multiplication are done by working in the polynomial ring Q[x], then taking the remainder after dividing by
. To look at specific cases, let
. Compute u + v, u - v, and u*v.
| > | u := a + b* x; v := c + d*x; f := x^2 + 1; |
| > | 'u' + 'v' = rem(u + v, f, x); 'u' - 'v' = rem(u - v, f, x); 'u' * 'v' = rem(u * v, f, x); |
Thus:
.
The harder problem is doing division, with the sticking point being an efficient method of finding multiplicative inverses. In Q[I], the inverse of
is
. This rule for inverses is specific to the Gaussian rationals. We need to find a method that produces multiplicative inverses using only the fact that
is prime. Such a method could be generalized to other fields.
Since
is prime and
is not in the ideal generated by
, the gcd of
and
is 1. This means there are polynomials A and B with
. In the ring L = Q[x]/(
),
, so the polynomial A will be the multiplicative inverse of
in L We can recover A with the Maple command gcdex.
| > | 'u' = u; 'f' = f; gcdex(u, f,x, 'uinv', 'g'): u*uinv + f * g; simplify(u*uinv + f * g); 'u'^(-1) = uinv; |
This gives the correct inverse for u.
It will be useful to turn the process above into a procedure we can call.
| > | invf := proc(u, f, x) local uinv, g: gcdex(u, f, x, 'uinv', 'g'): uinv; end; |
Once we have multiplicative inverses it is straight forward to do division.
| > | 'u'/'v' = rem(u*invf(v, f, x), f, x); |
Exercises:
1) Let u and v be defined as above. Compute
. and
.
2) Compute
, and
.
Case II, L = Q[x]/(f(x)) for an irreducible polynomial f(x)
The procedure worked out above is valid whenever
is an irreducible polynomial over Q[x]. For a different extension field, you can either change the definition of
, or supply
directly to the procedures defined.
The one additional Maple command that may be of use is
factor(f);
which lets you see if
is irreducible.
Exercises:
3) Let
. Find
, and
when
.
4) Repeat the previous exercise with
.
Case III, Finite fields
Our general theorem has L = K[x]/(f(x)) being a field, whenever K is a field and f(x) is an irreducible polynomial over K. So far we have been looking at the case when K is Q, the field of rationals. Our other favorite starting field is
/
, the the prime field of p elements. The procedure outlined above still works in that case, but the Maple syntax changes a little bit. To work over the finite prime fields, we capitalize the Maple commands and append "mod p" to them. Thus we use:
Rem(u+v, f, x) mod p; instead of rem(u+v, f, x);
Gcdex(u, f, x, 'uinv', 'g') mod p; instead of gcdex(u, f, x, 'uinv', 'g');
and
Factor(f) mod p; instead of factor(f);
Consider the case with
and
. Verify that
is irreducible over
.
| > | p := 5; f := x^3 + x + 1; Factor(f) mod p; |
Evaluate
, and
in
/(
).
| > | 'u' + 'v' = Rem(u+v, f, x) mod p; 'u' * 'v' = Rem(u*v, f, x) mod p; x^3 = Rem(x^3, f, x) mod p; 'u'^3 = expand(u^3); 'u'^3 = Rem(u^3, f, x) mod p; |
We want a new inverse procedure for fields of finite charachteristic.
| > | invfp := proc(u, f, x, p) local uinv, g: Gcdex(u, f, x, 'uinv', 'g') mod p: uinv; end; |
Using this inverse procedure, we do some computations.
| > | x^(-1) = invfp(x,f,x,p); 'u'/'v' = Rem(u*invfp(v,f,x,p), f, x) mod p; (2 + 3*x)/(1+x) = Rem((2 + 3*x)*invfp(1 + x,f,x,p), f, x) mod p; |
Exercises:
5) Find a cubic polynomial, f, that is irreducible over F[3].
Evaluate
and
in
[x]/(
).
Find the multiplicative order of x in L.