The usual way to compute Zech's logarithms is exposed in [7]. Let
be represented as
for some primitive
. The successive powers of
are
tabulated in the vector space
, the reciprocal
mapping being tabulated by the way.
Then, calculating :
is very easy since, in the vector space representation, adding 1 is going forwards
to the next element, or going
places backwards.
The cost of that method is quite equal to
reductions
of polynomials and each of them costs
operations in
.
There are exactly
monic polynomials of degree
over
,
but a lot of them are composite. Each irreducible polynomial among them characterizes
a whole-sized
-orbit in
. Thus the number
of such polynomials is the number of proper elements of
divided
by
.
That number can be expressed in terms of the Moebius function, defined as
when
is not square-free and, otherwise, as
according to the parity of the number of primes dividing x. Thus
Roughly speaking, one polynomial over
is irreducible, enabling a probabilistic
search for that kind of polynomials. The irreducibleness of
can be tested by checking if
is relatively prime to the Fermat characteristic
polynomials of any strictly embedded field, i.e. by calculation of
,
where
ranges over maximal divisors of
. And before the usual
Euclid's algorithm, the characteristic polynomial can be evaluated mod
at a cost remaining polynomial in
.
On the other hand, if
is primitive in
, so are its
-conjugates,
and therefore the number
of primitive (monic) polynomials of
degree
over
is given by :
And then again a probabilistic search can be undertaken. Its semantic is checking
if
is a factor of the cyclotomic
, that can be done
by checking if
is relatively
prime to the
, where
ranges over the maximal divisors
of
, tests that remain polynomial in
.
Let us now define an admissible exponent for
as an element
such that it exists some primitive element
verifying
. Obviously,
. Moreover, if
is admissible, so is
too, being relative to
since
implies
.
The exponent
being the same for all members of a
-orbit
of primitives, the number of such exponents is at most
. And
that bound seems to be tight, since, for
and small
, there
are very few, if any,
-orbits of primitives belonging to the same
exponent, as illustrated in Table 3.
From here,
is assumed !
In that paragraph, the former knowledge of an admissible exponent
is
assumed, i.e. the existence of a
such that
.
Then computing the
function over
,
the coset orbit of
, is straightforward with formulae (4)
and (5), i.e. with
But only (at most)
elements are reached at that step, and «jumping»
to other coset orbits is required. Such jumps are based on :
which is a simple application of definitions. On the left, we have
:
,
and on the other one :
.
That «jump formula» yields to following algorithm : start from an
having a known
; seek for a
such that
and
are
also known (i.e. former reached in building process) and define :
If the result
was not previously tabulated, it
can be taken as start point for reaching a new coset orbit. Such an algorithm
is, in fact, a probabilistic one, since the followed path depends on the seek
algorithm, and there is no reason to follows the
natural order while
checking the
's.
On the contrary, a random seek will ensure a better bargain between «never visited» and «soon visited, but may be changed» items. It is well-known that such a random seek will only double (on the average) the duration of a time-independent search. The counterpart for this (potential) slow-down factor is an ability for concurrent programming and a better reliability [11].
Now, no more previous knowledge about
is assumed. A value
is chosen for
, ranging over
, and the
preceding algorithm is applied. Three results can happen :
Assume normal termination, and denote by
the function tabulated during
the course of the algorithm, completed by
and
. Then, by construction,
is a bijection
. Define
(the first law) by
,
and, otherwise,
where
``
'' and ``
'' are the usual operations in
.
Define
(the second law) by
and, otherwise,
where again ``
'' is the usual addition
in
.
We have to prove that
is a field
for these laws. Clearly,
is a commutative group. To see the distributivity of
over
,
i.e.
three cases are to be considered. If
, then
and
. If
(or
) then
and
.
Otherwise, we have
.
Commutativity of
yields from the rules (8) used
to build
:
leading to
.
Therefore, all the properties required for
to be a field, with cardinal
, i.e. to be an isomorphic copy of
, are fulfilled, except
perhaps the associativity of
when
are different
from
.
But, the definitions and the «jump rule» (9) where
and
are leading to