Z( p^d )
The function Z
returns the designated generator of the multiplicative
group of the finite field with p^d
elements. p must be a prime
and p^d
must be less than or equal to 2^{16} = 65536.
The root returned by Z
is a generator of the multiplicative group of
the finite field with p^d elements, which is cyclic. The order of the
element is of course p^d-1. The p^d-1 different powers of the root
are exactly the nonzero elements of the finite field.
Thus all nonzero elements of the finite field with p^d
elements
can be entered as Z(p^d)^i
. Note that this is also the form
that GAP uses to output those elements.
The additive neutral element is 0*Z(p)
. It is different from the
integer 0
in subtle ways. First IsInt( 0*Z(p) )
(see IsInt) is
false
and IsFFE( 0*Z(p) )
(see IsFFE) is true
, whereas it is
just the other way around for the integer 0.
The multiplicative neutral element is Z(p)^0
. It is different from
the integer 1
in subtle ways. First IsInt( Z(p)^0 )
(see IsInt)
is false
and IsFFE( Z(p)^0 )
(see IsFFE) is true
, whereas it
is just the other way around for the integer 1. Also 1+1
is 2
,
whereas, e.g., Z(2)^0 + Z(2)^0
is 0*Z(2)
.
The various roots returned by Z
for finite fields of the same
characteristic are compatible in the following sense. If the field
GF(p^n) is a subfield of the field GF(p^m), i.e., n divides m,
then Z(p^n) = Z(p^m)^{(p^m-1)/(p^n-1)}. Note that this is the simplest
relation that may hold between a generator of GF(p^n) and GF(p^m),
since Z(p^n) is an element of order p^m-1 and Z(p^m) is an element
of order p^n-1. This is achieved by choosing Z(p) as the smallest
primitive root modulo p and Z(p^n) as a root of the n-th Conway
polynomial of characteristic p. Those polynomials where defined by
J.H.~Conway and computed by R.A.~Parker.
gap> z := Z(16); Z(2^4) gap> z*z; Z(2^4)^2
GAP 3.4.4