Enumerating places of up to
automorphisms of in quasilinear time
Abstract.
We present an algorithm that, for every fixed degree , will enumerate all degree- places of the projective line over a finite field up to the natural action of using space and time, where . Since there are orbits of acting on the set of degree- places, the algorithm is quasilinear in the size of its output. The algorithm is probabilistic unless we assume the extended Riemann hypothesis, because its complexity depends on that of polynomial factorization: for odd , it involves factoring polynomials over of degree up to .
For composite degrees , earlier work of the author gives an algorithm for enumerating orbit representatives for degree- places of over that runs in time independent of the extended Riemann hypothesis, but that uses space.
We also present an algorithm for enumerating orbit representatives for the action of on the degree- effective divisors of over finite fields . The two algorithms depend on one another; our method of enumerating orbits of places of odd degree depends on enumerating orbits of effective divisors of degree .
Key words and phrases:
Projective line, place, finite field1991 Mathematics Subject Classification:
Primary 11G20; Secondary 11Y16, 14G151. Introduction
The effective divisors of are a fundamental object in geometry, and there are situations in which one would like to enumerate all such divisors of a given degree when the base field is finite, up to the action of . For instance, if one is interested in enumerating hyperelliptic curves of genus over , where is an odd prime power, then it is natural to look at effective divisors of degree in which no point has multiplicity larger than , up to the action of (see [8, §3.1], [9, §0]). More generally, if one is interested in covers of of a given degree and genus up to isomorphism, a natural place to start is to group them by ramification divisor, up to the action of .
An argument that we give in Section 5 shows that to develop an algorithm to enumerate all degree- effective divisors of up to in quasilinear time, the central case to consider is that of effective divisors consisting of a single place of degree . When this is trivial, and Theorems 1.2 and 3.8 of [5] tell us how to do this when . Our main result, therefore, is the following:
Theorem 1.1.
Fix an integer The algorithms we present in Sections 6 and 7 take as input a prime power and output a complete set of unique representatives for the orbits of acting on the degree- places of . The algorithms take time and space , and are probabilistic unless we assume the extended Riemann hypothesis.
Corollary 1.2.
Fix an integer The algorithm we present in Section 5 takes as input a prime power and outputs a complete set of unique representatives for the orbits of acting on the effective divisors of of degree . The algorithm takes time and space , and is probabilistic unless we assume the extended Riemann hypothesis.
(Here and throughout the paper, by a “complete set of unique representatives” for a group acting on a set we mean a set of orbit representatives that contains exactly one element from each orbit.)
Since up to there are roughly degree- places of and roughly effective divisors of degree , we see that both algorithms take time quasilinear in the size of their output.
Almost all of the ingredients of our algorithms already appear in [5], which focuses on enumerating a complete set of unique representatives for the action of on the effective divisors of of even degree that do not include any places with multiplicity greater than . However, the restriction to even (or, more generally, composite ) was critical to the approach in [5]. Furthermore, the algorithms in that paper do not attempt to minimize their memory usage.
The main new idea in this paper is a method for enumerating orbits of places of odd degree. Given an odd , we show how to assign to every degree- place of a rational function on of degree at most that reflects the action of Frobenius on the geometric points of ; we call this the Frobenius function for . If is the Frobenius function for , then its divisor of fixed points is effective and has degree at most ; we call the Frobenius divisor of . The map that sends a degree- place to its Frobenius divisor is equivariant with respect to the action of on places and divisors. Also, there is a straightforward way to enumerate all degree- places with a given Frobenius divisor. Thus, to enumerate all degree- places up to the action of , we simply enumerate orbit representatives for the action of on effective divisors of degree at most , and then find all degree- places whose Frobenius divisors are among these orbit representatives. We can compute these orbit representatives by recursively applying our algorithm — or by other means, since any algorithm that takes time at most and space at most will suffice.
The critical step in computing the places with a given Frobenius divisor involves finding the degree- factors of a polynomial of degree bounded by , so the complexity of our algorithm is essentially tied to that of the polynomial factorization algorithm we use. Under the extended Riemann hypothesis, we can deterministically factor polynomials in of bounded degree in time polynomial in (see [10], [3]); unconditionally, there are probabilistic algorithms that factor in polynomial time (see [1], [2], [4], [6], [7]). Thus, a probabilistic version of our algorithm takes time , and a deterministic version has the same complexity if we assume the extended Riemann hypothesis.
In Section 2 we present the main ingredients of our argument, most notably the idea of the Frobenius function of a place of odd degree, as well as how such rational functions are related to their divisors of fixed points. In Section 3 we observe that a low-memory algorithm to output a finite list can be converted into a low-memory algorithm that takes one element of the list (plus some extra data) as input and outputs the next element (plus the necessary extra data). This can be done in such a way that the time to create the whole list by repeatedly running the second algorithm is essentially the same as that of running the first algorithm once. This observation simplifies our exposition of our main algorithms.
In Section 4 we outline the recursive nature of our algorithms and explain how the arguments in the following sections piece together to create a proof of Theorem 1.1. In Section 5 we show how to enumerate orbits of effective divisors of degree if we can enumerate the orbits of places of degree at most , which shows that Corollary 1.2 follows from Theorem 1.1. In Section 6 we present an algorithm to enumerate orbit representatives for acting on places of odd degree by using the connection between a place and its Frobenius divisor. Finally, in Section 7 we show how to handle places of even degree over by combining our algorithm for places of degree over with an explicit list of coset representatives for in .
2. Mise en place
In this section we lay out the ingredients necessary to prove our main results. We start by defining the basic objects of study, and then in separate subsections we present various results needed for our later arguments.
Let be a finite field and let . We view as a graded ring, graded by degree, and we view as . For each let be the set of homogeneous polynomials in of degree , and let be the union of the . We say that is monic if is monic as a univariate polynomial. We say that is a root of if .
There is a natural action of the group on : If is represented by a matrix and if , then we define
This action extends to an action on divisors on .
There is a related action of on the set , such that sends the class of a homogeneous polynomial to the class of . Since every element of has a unique monic representative, we can also view as acting on the set of homogeneous polynomials; given a homogenous , we let be the unique monic such that . Let be the function that sends a homogenous polynomial to its divisor. Then we have
(1) |
Our goal is to produce, for each , an algorithm that will create a complete set of unique representatives for the action of on the degree- effective divisors of , in time , where . Since effective divisors on correspond to monic elements of , our goal can also be viewed as finding orbit representatives for acting on the monic elements of .
2.1. Frobenius functions and Frobenius divisors
In this subsection we introduce the concepts of Frobenius functions and Frobenius divisors and prove some basic results about them.
Theorem 2.1.
Let be an irreducible homogeneous polynomial of degree , where is odd. Among the rational functions of degree at most , there is a unique function such that for every root of in .
Definition 2.2.
Given and as in the theorem, we say that is the Frobenius function for . If is the degree- place corresponding to , we also say that is the Frobenius function for .
Proof of Theorem 2.1.
Let , let , and let be a root of . Then
is a list of elements of , so there is an -linear relation among these elements, say
We know that the two sides of this equality are nonzero, because otherwise would be a root of a polynomial of degree smaller than . Therefore we can write
Let be the rational function
Then , and the same holds if we replace by any of its conjugates. Also, is a rational function of degree at most (“at most” because there may be common factors in the numerator and denominator that cancel one another). This proves the existence claim of the theorem.
Suppose and are two rational functions of degree at most such that for and . Write for homogeneous polynomials and of degree at most . Then since , we see that is zero of the homogeneous polynomial , whose degree is at most . Since generates a degree- extension of , this is impossible unless ; that is, unless . This proves the uniqueness claim of the theorem. ∎
Definition 2.3.
Let be a rational function of degree on and write for coprime homogenous polynomials and in . If , we define the divisor of fixed points for to be the divisor of degree . If is an irreducible homogeneous polynomial whose Frobenius function is , then we call the Frobenius divisor for .
Lemma 2.4.
Let be a monic irreducible homogeneous polynomial in of odd degree and let be the Frobenius function for . For every , the rational function is the Frobenius function for , and
(2) |
Proof.
If is a root of then we have for a root of . We check that
so is the Frobenius function for . Suppose is a matrix that represents , and suppose and are coprime homogenous polynomials such that . Using the definition of , we find that is the divisor of the polynomial
where and . But this simplifies to
and the class of this polynomial in is nothing other than . By (1), we see that (2) holds. ∎
Corollary 2.5.
Let be an odd integer and let be a set of representatives for the orbits of acting on the effective divisors of of degree at most . Suppose is a monic irreducible homogenous polynomial of degree . Then there is an in the orbit of such that the Frobenius divisor of lies in . ∎
2.2. Rational functions with a given divisor of fixed points
The following proposition tells us how to find all rational functions with a given divisor of fixed points.
Proposition 2.6.
Let be an effective divisor on of degree and let be the unique monic homogeneous polynomial of degree with .
-
•
Suppose is not in the support of , so that is not divisible by . Then the set of degree- rational functions with is equal to the set
where ranges over the set of monic polynomials in that are coprime to .
-
•
Suppose is in the support of , so that is a multiple of . Then the set of degree- rational functions with is equal to the set
where ranges over the set of monic polynomials in whose GCDs with are equal to , and where ranges over all elements of with .
Proof.
In order for a rational function to have , we must be able to write for two coprime elements , with monic, so that . This holds if and only if for some .
Suppose we have for such a , , and , and suppose is not divisible by . Then must also be coprime to . Since and are both monic, it follows that the coefficient of in , and the coefficient of in , are both equal to . Since the monomial does not occur in , it follows that , so . Finally, we see that and can share no common factor other than , because otherwise and would not be coprime. Conversely, if is a monic polynomial of degree that is coprime to , then is a degree- function with divisor of fixed points equal to .
Now suppose for such a , , and , where is divisible by . Then must also be divisible by . But and cannot both be divisibly by , for otherwise would be divisible by , contradicting the requirement that and be coprime. Then , and if and had any common factors other than , this common factor would divide as well. Also, since must not be divisible by , we see that . Conversely, if is a monic polynomial of degree with and if satisfies , then is a degree- function with divisor of fixed points equal to . ∎
Corollary 2.7.
Let be an effective divisor on of degree . The set of degree- rational functions with contains at most elements, where , and it can be enumerated in time , measured in arithmetic operations in .∎
2.3. Places with a given Frobenius function
In this section we show how to find all the places of odd degree with a given Frobenius function. First we consider Frobenius functions of degree greater than .
Theorem 2.8.
Let be a rational function on of degree and let be an odd integer integer with . Let be the th iterate of . Then every degree- place with Frobenius function equal to occurs in the divisor of fixed points of .
Proof.
Let be a degree- place whose Frobenius function is and let be the monic homogeneous polynomial whose divisor is . Let be a root of , so that we have . Applying Frobenius to both sides, we find that
where the first equality follows from the fact that is -rational. Continuing in this way, we see that
It follows that is a root of the function defining the divisor of fixed points for , so the place appears in . ∎
Theorem 2.8 gives us a simple algorithm to find the degree- places with a given Frobenius function of degree at least : We go through the finite set of degree- places appearing in , where , and for each such we check to see whether is the Frobenius function for . The degree of is large, but bounded in terms of , so for fixed this algorithm takes time polynomial in , with the primary step being to find all degree- factors of the polynomial defining the divisor of fixed points of .
But Theorem 2.8 only deals with rational functions of degree greater than . The reason for this is that if is a Frobenius function of degree , then the rational function in the theorem will be the identity function, and its divisor of fixed points is not defined. To find places with Frobenius functions of degree , we instead use the following result.
Theorem 2.9.
If there are places of of odd degree with Frobenius functions of degree , then either is the prime divisor of , or divides , or divides .
Suppose is an odd integer that is either the prime divisor of or a divisor of or . Let be an element of . If is the prime divisor of , choose an element of with nonzero absolute trace and let be the singleton set . If divides , let be a generator of and let be the set
If divides , let be an element of order and let be the set of (homogenized) minimal polynomials of the elements
where is as above. Then in every case, the divisors of the elements of form a complete set of unique representatives for the action of on the set of degree- places of with Frobenius functions of degree .
Proof.
Suppose is a place of of odd degree whose Frobenius function has degree . Since has degree we can view it as an element of . Let be the monic irreducible homogeneous polynomial in that defines , and let be a root of . Then for every we have
so is not the identity for . On the other hand, fixes and all of its conjugates, so it must be the identity. In other words, as an element of , the function has order .
An easy exercise shows that the set of orders of elements of consists of the union of the prime divisor of , the divisors of , and the divisors of . This proves the first statement of the theorem.
Let be the place of at infinity, let be the place at , and let be the degree- place whose geometric points are and , where is the element of from the statement of the theorem. If the Frobenius function of a place has degree , then the Frobenius divisor of has degree . Every divisor of degree on is in the orbit of exactly one of the following divisors: , , and . Therefore, by Lemma 2.4 we may choose our orbit representatives for the action of on the degree- places with Frobenius functions of degree to have one of these three divisors as their Frobenius divisors.
Consider the set of monic irreducible degree- homogenous polynomials that define places whose Frobenius divisors are equal to . By Proposition 2.6, the functions with are the functions for with Every such function has order equal to the prime divisor of , so in this case must be that prime.
The subgroup of that stabilizes the set is the “” group — that is, the classes of the upper triangular matrices. We check that if and are elements of such that both and are nonzero elements of , then there is an element of this subgroup that takes to . Thus, all of the places with Frobenius divisors equal to are equivalent up to , and one of them is given by the divisor of the unique polynomial in the set given in the theorem in the case where is the prime divisor of .
Now consider the set of monic irreducible degree- homogenous polynomials that define places whose Frobenius divisors are equal to . By Proposition 2.6, the functions with are the functions for with and , so if is an element of and if is a root of , then for some . Since has order , the element of must also have order , so . Conversely, if is an element of such that has order , then defines a place with Frobenius divisor . Since divides , there are elements of of order ; let be one of these. Then the that give places of degree with Frobenius divisor are exactly the elements with .
The subgroup of that stabilizes the set consists of the classes of the diagonal and antidiagonal matrices. The action of this subgroup on the set is generated by multiplication by nonzero elements of (which are exactly the powers of ) and by inversion. It is clear that the set is a complete set of unique representatives for this action. The homogenized minimal polynomials of these elements are exactly the elements of the set given in the theorem in the case .
Finally we consider the set of monic irreducible degree- homogenous polynomials that define places whose Frobenius divisors are equal to . Let be the monic homogeneous polynomial that defines the place , and write for . Now Proposition 2.6 tells us that the functions with are the functions of the form for .
Given an with , set , so that and . Note that then
and more generally
(3) |
Since and is odd, we find that
so that . Then (3) shows that has order . It is also clear that the norm of from to is , so its order divides , and we see that . Since , we see that the has order dividing , so that is a power of the element chosen in the statement of the theorem. Furthermore, if we write , then we must have , for otherwise would not have order . On the other hand, we check that if we set for an integer with , then we have
where
Using the fact that has order and that we see that , and from this we calculate that , so that . Thus, the place associated to this has Frobenius divisor equal to .
We calculate that the subgroup of that stabilizes the set is generated by the classes of the matrices (which fix and ) and the matrix (which swaps and ).
Suppose and are as above, set , and let . We check that Since is an element of whose norm to is , we see that it is a power of . Therefore, if we write and , then . Likewise, if we let and , then , so if we write and , then . From this we see that the set is a complete set of unique representatives for the action of the stabilizer of on the set of s, so the set
is a complete set of unique representatives for the action of the stabilizer of on the set of s whose associated places have Frobenius divisor . The theorem follows. ∎
Remark 2.10.
The Frobenius function of a degree- place has degree , so Theorem 2.9 gives us a complete set of unique representatives for the action of on the degree- places. Of course, we already know that the action of on these places is transitive, so there is only one element in such a set of representatives. It is interesting to see how the representative provided by the theorem depends on the residue class of modulo , and to see how the shape of the Frobenius divisor also depends on this residue class.
2.4. Cross polynomials
In this subsection we review the definition and main property of “cross polynomials” from [5].
Definition 2.11 (Definition 4.1 from [5]).
Let be a monic irreducible homogeneous polynomial in with , let be a root of , and let be the cross ratio of , , , and ; that is,
The cross polynomial of is the characteristic polynomial of over . If is a place of , we let be the cross polynomial of the monic irreducible polynomial whose divisor is .
Theorem 2.12 (Theorem 4.2 from [5]).
Two monic irreducible polynomials in with lie in the same orbit under the action of if and only if they have the same cross polynomial. ∎
2.5. Coset labels and coset representatives for in
In our algorithm, we will need to have an explicit list of (right) coset representatives for in , as well as an easy-to-compute invariant that determines whether two elements of lie in the same coset of . We begin with the explicit list.
An element of is determined by where it sends , , and , and given any three distinct elements of , there is an element of that sends , , and to those three elements. Thus, as in [5], we may represent elements of by triples of pairwise distinct elements of , indicating the images of , , and .
Proposition 2.13 (Proposition 5.1 from [5]).
Let be a prime power, let be an element of , and let be a generator for the multiplicative group of . Let be the set The following elements give a complete set of unique coset representatives for the left action of on :
-
1.
;
-
2.
;
-
3.
;
-
4.
;
-
5.
.∎
The proof of Proposition 2.13 given in [5, §5] shows how we can determine the orbit representative attached to a given element of , and we encourage the reader to consult it. Unfortunately, determining this representative involves computing a discrete logarithm. For our main algorithm we are not allowing ourselves enough memory to keep a table of logarithms, and we will be needing to identify orbits often enough that computing discrete logarithms directly would take too much time. Therefore, we introduce an orbit invariant that is easier to compute.
Definition 2.14.
Given , represented by a triple , we define as follows:
-
(1)
If , , and are all elements of , we define .
-
(2)
If and are elements of but is not, we compute the orbit representative of using the procedure in [5, §5] and set .
-
(3)
If lies in but does not, we compute the orbit representative of using the procedure in [5, §5] and set .
-
(4)
If does not lie in , we use elements of to move to an element of the form using the procedure in [5, §5].
-
(a)
If then we set , where is as in [5, §5]. Note that if is an element of that fixes and , then differs from by a multiplicative factor whose norm to is equal to , so is well defined.
-
(b)
If then we set . Again we note that if we replace and by and for an element of that fixes , then neither the second nor third entries of the triple given above will change.
-
(a)
We call the value the orbit label of .
Proposition 2.15.
Two elements of lie in the same orbit if and only if their orbit labels are equal.
2.6. Orbit labels and orbit representatives for acting on pairs of distinct degree- places
Analogously to the situation in the preceding section, for our main algorithm we will need to have orbit representatives and orbit labels for the action of on degree- effective divisors of that are the sum of two distinct places of degree . Such divisors correspond to homogenous quartics that factor into the product of two distinct irreducible monic quadratics, with . Orbit representatives for the action of on such quartics are provided by [5, Theorems 3.4 and 3.8], so our goal here is simply to provide an easily-computable orbit label.
Given a quartic that factors into the product of two distinct irreducible monic homogeneous quadratics, we write and , and we define by the formula
If and are the divisors of corresponding to and , we also set .
Lemma 2.16.
The function is constant on orbits of homogeneous quartics that factor as the product of distinct monic irreducible quadratics, and it takes different values on different orbits.
Proof.
We note that in odd characteristic we have , where is the function defined in Remark 3.5 of [5]. As is observed there, the function is constant on orbits of homogeneous quartics of the type we are considering, and it takes different values on different orbits. Therefore the same is true of when is odd.
We let the reader verify that the function is constant on orbits of such quartics even in characteristic . On the other hand, it is easy to verify that takes distinct values on the orbit representatives for such quartics provided by [5, Theorem 3.8]. Thus, the lemma also holds when is even. ∎
3. A note about recursion
All of the main algorithms in this paper are defined recursively: The algorithm to enumerate places of degree up to uses the algorithm to enumerate effective divisors of degree at most up to , and the algorithm to enumerate effective divisors of degree up to uses the algorithms to enumerate places of degree at most up to . Since all of these algorithms are designed to take space , there is no room for saving a list of all the divisors or places of a given degree, up to . So we have to be specific about what we mean when, as a step in one algorithm, we say something like “for every orbit of effective divisors of degree , do…”
One easy-to-conceptualize solution to this issue is to note that every algorithm that takes time and space to produce a list of divisors — let’s call it CompleteList(q) — can be converted into an algorithm NextElement(D,data) that takes as input one list element (plus some auxiliary data) and outputs the next list element (plus some auxiliary data), and that also uses space and a total time of to run through the whole list one elements at a time.
The idea is simple: The steps in NextElement(D,data) are the same as in CompleteList(q), except that where CompleteList(q) would output a list element , the algorithm NextElement(D,data) outputs together with all the details of the algorithm’s internal state — the line of code it is at, together with the values of all of the internal variables — and then stops. Since CompleteList(q) is assumed to take space , the amount of internal state is bounded by the same amount. When NextElement(D,data) is called again, with and its associated data as input, it simply continues as CompleteList(q) would, until it is time to output another list element.
This means that in our algorithms we can include “for” statements like the example given at the beginning of this section, and we will do so without further comment.
4. The structure of our argument
Our algorithm is recursive, and the proof that it runs correctly and within the stated bounds on time and space is inductive. Since the various steps are described in different sections, it will be helpful to outline the structure of the induction here.
Theorems 1.1 and 3.8 of [5] show that we can enumerate a complete set of unique representatives for the action of on the degree- places of in time and space . The orbits of places of degree less than can be enumerated in time and space , as can the orbits of effective divisors of degree less than . These results form the base case for our induction.
In Section 5 we show that if, for every with , we can enumerate a complete set of unique representatives for the action of on places of degree in time and space , then we can enumerate a complete set of unique representatives for the action of on the effective divisors of degree in time and space . Note that this is enough to prove that Corollary 1.2 follows from Theorem 1.1.
For our induction, we suppose that we can enumerate a complete set of unique representatives for the action of on places of degree in time and space for every with . By the argument in Section 5, this means that for every such we can also enumerate a complete set of unique representatives for the action of on effective divisors of degree in time and space .
5. From orbits of places to orbits of effective divisors
In this section we assume that for every with , we have an algorithm that can enumerate orbit representatives for acting on the degree- places of in time and using space, where . We show that under this assumption, we can produce an algorithm that can enumerate orbit representatives for acting on the effective degree- divisors of in time and using space.
Let be an effective divisor of and write , where the sum is over the places , the coefficients are nonnegative integers, and all but finitely many of the are zero. The support of is the divisor
The divisor is reduced if it is equal to its own support. We begin by showing how to enumerate reduced divisors.
5.1. Enumerating reduced effective divisors up to
Suppose is a reduced effective divisor of degree at most , so that for distinct places , and so that if we let be the degree of , then . Following [5, §7], we say that sequence , listed in non-increasing order, is the Galois type of . The degree of a Galois type is the sum of its elements. We will enumerate orbit representatives for the action of on reduced effective divisors of degree at most by enumerating each Galois type separately.
We have three strategies that together cover all but five Galois types. The first strategy works with Galois types for which . The second strategy is for Galois types with . And the third strategy is for Galois types with , , and with at least three equal to . The Galois type not covered by these strategies are , , , , and . We dispose of these small cases first.
5.1.1. Small Galois types.
Let be an irreducible monic quadratic polynomial in . We leave it to the reader to verify the following:
-
•
There is only one orbit of the divisors of Galois type , which can be represented by the homogeneous polynomial .
-
•
There is only one orbit of the divisors of Galois type , which can be represented by the homogeneous polynomial .
-
•
There is only one orbit of the divisors of Galois type , which can be represented by the homogeneous polynomial .
-
•
There is only one orbit of the divisors of Galois type , which can be represented by the homogeneous polynomial .
-
•
A complete set of unique representatives for the orbits of divisors of Galois type is provided by [5, Theorem 3.6].
5.1.2. Galois types with .
Choose total orderings on the set of polynomials in and on the set of homogeneous polynomials in . Having chosen these orderings, it makes sense to speak of one element of one of these sets being “smaller” than another element of the same set. The following algorithm makes use of cross polynomials, as discussed in Section 2.4.
Algorithm 5.1.
Orbit representatives for acting on the reduced effective divisors of of Galois type , where and the degree of is at most .
-
Input:
A prime power and a Galois type of degree with .
-
Output:
A list of monic separable homogeneous polynomials in of degree whose associated divisors form a complete set of unique representatives for acting on the divisors of Galois type .
-
1.
Let be the Galois type .
-
2.
For every orbit representative for the action of on the degree- places of and for every reduced effective divisor of of Galois type that does not contain the place , do:
-
(a)
Set .
-
(b)
If contains a place of degree with smaller than , continue to the next pair .
-
(c)
Let be the monic degree- homogeneous polynomial representing the divisor .
-
(d)
Set , where ranges over the elements of that send some degree- place of with cross polynomial to .
-
(e)
If is the smallest element of , output .
-
(a)
Proposition 5.3.
Algorithm 5.1 produces a complete set of unique representatives for the orbits of acting on the reduced effective divisors of of Galois type . It runs in time , measured in arithmetic operations in , and requires space.
Proof.
The algorithm produces correct results, because every effective divisor of Galois type is in the same orbit as divisors of the form where is in the given set of orbit representatives and is a divisor of Galois type , none of whose constituent places has degree and has cross polynomial smaller than that of . Every such orbit representative will be considered in steps 2(c) and 2(d), but only one will satisfy the requirement of step 2(d) and be output.
The time it takes to process each pair is polynomial in . The time to generate the representatives is , by the global hypotheses of this section. The time to generate all the reduced effective divisors of Galois type is . All told, the time required for the algorithm is therefore .
Generating the representatives takes space by hypothesis. Generating the effective divisors of type can also be done in this space (keep in mind that is fixed for the purposes of this algorithm, so any dependencies on can be absorbed into constant factors). And the substeps of step 2 can also be accomplished in space. Thus, the whole algorithm requires only space. ∎
5.1.3. Galois types with .
In the preceding subsection we “absorbed” all of the action of into a single place of degree . Now we do something similar with pairs of places of degree .
Algorithm 5.4.
Orbit representatives for acting on the reduced effective divisors of of Galois type , where and the degree of is at most .
-
Input:
A prime power and a Galois type of degree with .
-
Output:
A list of monic separable homogeneous polynomials in of degree whose associated divisors form a complete set of unique representatives for acting on the divisors of Galois type .
-
1.
Let be the Galois type .
-
2.
For every sum of degree- places of listed in Theorems 3.4 and 3.8 of [5], and for every reduced effective divisor of of Galois type that does not contain either of the places and , do:
-
(a)
Set , where is the function defined in §2.6.
-
(b)
If contains two degree- places and with smaller than , continue to the next pair .
-
(c)
Let be the monic degree- homogeneous polynomial representing the divisor .
-
(d)
Set , where ranges over the elements of that send some pair of degree- places of with to .
-
(e)
If is the smallest element of , output .
-
(a)
Proposition 5.5.
Algorithm 5.4 produces a complete set of unique representatives for the orbits of acting on the reduced effective divisors of of Galois type . It runs in time , measured in arithmetic operations in , and requires space.
Proof.
The proof is entirely analogous to that of Proposition 5.3. ∎
5.1.4. Galois types with and with at least three s
This is perhaps the most straightforward case to deal with, since we can normalize our divisors by demanding that three of their degree- places be , , and .
Algorithm 5.6.
Orbit representatives for acting on the reduced effective divisors of of Galois type , where , at least three of the are equal to , and the degree of is at most .
-
Input:
A prime power and a Galois type of degree with and with at least three equal to .
-
Output:
A list of monic separable homogeneous polynomials in of degree whose associated divisors form a complete set of unique representatives for acting on the divisors of Galois type .
-
1.
Let be the Galois type .
-
2.
Let be the degree- divisor consisting of the places at , , and .
-
3.
For every reduced effective divisor of of Galois type that is disjoint from , do:
-
(a)
Let be the monic degree- homogeneous polynomial representing the divisor .
-
(b)
Set , where ranges over the elements of that send some triple of degree- places of to .
-
(c)
If is the smallest element of , output .
-
(a)
Proposition 5.7.
Algorithm 5.6 produces a complete set of unique representatives for the orbits of acting on the reduced effective divisors of of Galois type . It runs in time , measured in arithmetic operations in , and requires space.
5.2. Enumerating effective divisors up to
Given the results of the preceding subsection, it is a simple matter to produce a complete set of unique representatives for the action of on the degree- effective divisors of . The support of such a divisor is a reduced effective divisor of degree at most , and the algorithms we have given above will produce a complete set of unique representatives for these in time and space .
For each divisor in this set, we do the following. The divisor is simply a collection of places of , and our task consists of two steps: First, we must find all sets of positive integers such that . Each such set gives a divisor of degree . Then, we must take the list of all such for the given , check to see which are in the same orbit, and then choose one element from each orbit to output.
Finding all the sets can be done in constant time, since is fixed, so we have a bounded number of degree- divisors associated to a given . The number of pairs of such divisors is also bounded in terms of . Comparing two such divisors to see whether they are in the same orbit can be done in time polynomial in ; the most direct method involves finding explicit isomorphisms between the residue fields of two places of the same degree, and we can accomplish this either by using a polynomial factorization algorithm, or by choosing our data structure for places of degree to include an explicit Galois-stable collection of points in a fixed copy of (see the following section). In any case, this can be done in the required time and space.
This sketch shows that we can output a complete set of unique representatives for the action of on the set of effective divisors of degree in time and using space, under the assumption that we can accomplish the same task for places of degree at most .
6. Enumerating places of odd degree up to
Here we present an algorithm for enumerating representatives for the orbits of acting on the places of of odd degree over a finite field , using space and time, where . Our hypothesis throughout this section is that we can accomplish this same task for places of every degree smaller than , and by the results of the preceding section this hypothesis implies that we can also enumerate representatives for the orbits of acting on the effective divisors of of degree less than .
The algorithm requires us to manipulate effective divisors of of degree up to , so we need to specify the data structure we use to represent such divisors. Let . Before we begin the algorithm proper, we compute copies of the fields for . We represent places of degree by Galois-stable collections of elements of that lie in no proper subfield, we represent places of degree by elements of together with the symbol , and we represent divisors as formal sums of such places. This representation makes it easy to check whether two divisors of the same degree are in the same orbit under the action of , without having to factor polynomials or find their roots in extension fields.
By “computing a copy of the field ,” we mean computing a basis for as a vector space over and a multiplication table for this basis. We choose our basis so that .
Algorithm 6.1.
Orbit representatives for the action of on the degree- places of , where is a fixed odd integer.
-
Input:
A prime power .
-
Output:
A sequence of monic irreducible polynomials in of degree whose associated divisors form a complete set of unique representatives for the action of on the degree- places of .
-
1.
Compute copies of for so that we can represent divisors as described above.
-
2.
Choose an efficiently computable total ordering on the set of rational functions on .
-
3.
Output the places listed in Theorem 2.9 for the given values of and .
-
4.
For every orbit representative for the action of on the effective divisors of of degree at least and at most , do:
-
(a)
For every function obtained from Proposition 2.6 applied to , do:
- (i)
-
(ii)
Compute the -fold iterate of and set to be the numerator of the rational function .
-
(iii)
Set to be an empty list.
-
(iv)
For every monic irreducible degree- factor of , check to see whether is the Frobenius function for . If so, append the ordered pair to .
-
(v)
Sort . For every pair on the list such that does not appear as the first element of an earlier pair, output the place associated to .
-
(a)
Theorem 6.2.
Proof.
First we prove that the output is correct: We must show that every orbit of acting on the degree- places of has exactly one representative included in the output of the algorithm.
The orbits of places whose Frobenius divisors have degree will appear in the output from step 3.
Consider an orbit of places whose Frobenius divisors have degree at least . Among the Frobenius divisors of the polynomials representing elements of , there is exactly one that appears as a divisor in step 4. Now consider the set elements of whose Frobenius divisors are equal to , and let be the set of Frobenius functions of elements of . Exactly one element of satisfies the condition checked in step 4(a)(a)(i): namely, the smallest element of under the ordering chosen in step 2.
Now we narrow our consideration to the elements of whose Frobenius functions are equal to this . Each such element is represented by a unique monic irreducible homogenous polynomial . Let be a root of . Since is the Frobenius function for we have , and it follows that for every . In particular,
so is a fixed point of , and must divide the numerator of the polynomial defined in step 4(a)(a)(ii). Therefore, occurs as one of the polynomials in step 4(a)(a)(iv) for which is appended to .
We know that the algorithm will output the place associated to some polynomial with . From Theorem 2.12, we know that this place is in the orbit of . This shows that at least one representative from each orbit of places is included in the output; it remains to show that no orbit is represented more than once.
Suppose is an irreducible homogenous polynomial in the same orbit as , say . We would like to show that if then will not appear in the output of the algorithm. To see this is the case, we let be the Frobenius function for , so that and , by Lemma 2.4. If then will not appear in the output, because in step 4 we choose only one representative for each orbit of divisors. So let us assume that ; that is, we assume that fixes .
This means that is one of the elements of that we consider in step 4(a)(a)(i). So in order for to appear in the output, we must have . This means that and will both appear on the list produced in steps 4(a)(a)(iii) and 4(a)(a)(iv). So after we sort in step 4(a)(a)(v), only the smaller of and will be output. This shows that no orbit is represented more than once in our output, so the output is correct.
To analyze the time and space requirements of the algorithm, we must say a little more about how step 4(a)(a)(i) can be implemented; in particular, we must specify how to compute the -stabilizer of . So consider an effective divisor of degree at least and at most .
Let denote the support of the divisor . If the degree of is at least , then computing the stabilizer is straightforward, and its size is bounded by , which means that it is . So let us turn to the case where has degree or . First we list the divisors we must consider.
Let be the place at infinity, let be the place at , and let be the place corresponding to an irreducible quadratic , which we fix for the course of this discussion. If the degree of is or , then we may assume that is either , , or . We then find that the divisors with supports of degree or that we must consider, and their stabilizers, are as in Table 1.
Divisor | Conditions | Stabilizer |
---|---|---|
Now we can analyze the time taken by the algorithm. The total time to compute the orbit representatives in step 4 is , by the global hypotheses of this section, and there are such divisors. To each there are associated at most functions , by Corollary 2.7.
First we consider the divisors whose support has degree at least . There are of these divisors, and each gives rise to at most possible Frobenius functions . The total time to process all of these divisors is therefore .
Next we consider the divisors with support of degree or . If is one of the divisors that appears in the first row of Table 1, there are at most associated functions , and it will take time to process each one. Therefore, the total time to process all of these is .
For the divisors from the other rows of the table, there are again at most associated functions , and it takes time to process each . Therefore, the total time to process all of these is .
If , then , so the time it takes to process these special divisors falls within our desired upper bound. For , the time for divisors with support of degree falls within our desired upper bound, but the time for divisors with support of degree does not. And for , even the divisors with support of degree take too long for us. So we must consider the cases and separately, and modify our algorithm for these cases.
Suppose . We see that there are only two divisors we must consider, namely and . Let us start with .
From Proposition 2.6 we compute that the rational functions with are the functions
for and . If is odd, pick a nonsquare . No matter the parity of , choose so that is either or , set , and consider the element of the stabilizer of . We compute that
For odd , it is easy to check that the two functions and are not in the same orbit. Thus, to process the divisor we need only consider at most specific functions, each one taking time to process.
Now suppose . The functions with are
where . The stabilizer of in consists of the elements with nonzero, and we compute that
Therefore, up to the stabilizer of , the only functions we have to consider are (with ) and . The total time to process all of these functions is , which is within our desired bound of .
Now we turn to the case . The divisor can be treated as described above. Thus the only remaining divisor we must treat specially is . We leave it to the reader to show that if is odd, then each orbit of functions with under the action of the stabilizer of contains exactly one element in the set
where is a set of representatives for . The total time to process these functions is , which is less than our goal of . On the other hand, if is even and if we choose an element of absolute trace , then then each orbit of functions with under the action of the stabilizer of contains exactly one element in the set
where is again a set of representatives for . The total time to process these functions is again .
We see that in every case, the algorithm can be implemented to take time . The fact that it requires space is clear. ∎
7. Enumerating places of even degree up to
In this section we present an algorithm for enumerating representatives for the orbits of acting on the places of of even degree over a finite field , using space and time, where . As in the preceding section, our hypothesis throughout this section is that we can accomplish this same task for places of every degree smaller than — but we will only need to use the case of this hypothesis.
The spirit of the algorithm is similar to that of [5, Algorithm 7.12]. In that algorithm we produce a large list of orbit representatives that includes roughly two entries for each orbit, and then deduplicate the list by using cross polynomials. The main difference here is that instead we take much more care in producing the list to begin with, so that we do not have to use memory to store the list.
The algorithm makes use of the coset labeling function from Definition 2.14.
Algorithm 7.1.
Orbit representatives for the action of on the degree- places of over , where is a fixed even integer.
-
Input:
A prime power .
-
Output:
A sequence of monic irreducible polynomials in of degree whose associated divisors form a complete set of unique representatives for the action of on the degree- places of .
-
1.
Choose efficiently computable total orderings on the set and on the set of polynomials .
-
2.
For every orbit representative for the action of on the places of of degree , do:
-
(a)
If then skip to the next value of .
-
(b)
For every orbit representative from Proposition 2.13 for the action of on , do:
-
(i)
For every that fixes , compare to . If for any such , skip to the next value of .
-
(ii)
If , then for every that takes to , compare to . If for any such , skip to the next value of .
-
(iii)
Let be the monic homogeneous polynomial associated to the place . If does not lie in , output the product of with its conjugate .
-
(i)
-
(a)
Theorem 7.2.
Algorithm 7.1 outputs a complete set of unique representatives for the action of on the degree- places of . It runs in time and requires space.
Proof.
Let . Every monic irreducible degree- homogeneous polynomial factors in into a product of a monic irreducible degree- polynomial with its conjugate, and is unique up to conjugation over . So what we would like to do is to enumerate the set of degree- places of that are not the lifts of degree- places of , up to the combined action of and .
By our induction hypothesis, we already know how to get a complete set of unique representatives for the action of on the degree- places of , so all we must do is figure out how to expand the representative for a given orbit to get representatives for the orbits without introducing duplicates, and all up to the action of .
We will certainly obtain representatives for all of the orbits that are in the orbit of a place if we simply consider the set of places , for the listed in Proposition 2.13. But when will we get multiple representatives?
We will get multiple representatives exactly when we are in the situation that , where is a nontrivial element of and where and are elements of such that . We see that this can only happen when there is an element of the stabilizer of such that ; in other words, for a given and there will only be such an element when there is a in the stabilizer of such that and are in the same orbit. We can tell whether this is the case by comparing with . In step 2(b)(b)(i)of Algorithm 7.1, we compare to for all such , and move on to the next if is not the smallest of these orbit labels. This is enough to ensure that we are getting a complete set of unique representatives for the action of on the set of degree- places of .
The only other way we may output more than one representative for the same orbit is if we have two orbit representatives and from step 2, and two elements and from step 2(b), such that the pairs and are not equal to one another, but such that the Galois conjugate of lies in the orbit of . This will be the case precisely when for some that takes to and for some . Note that this can only happen if , and in fact does happen in this case. We avoid this in two ways:
First, we only consider places such that . By doing so, we further restrict the bad circumstance above to the case where and where lies in . This is accomplished by step 2(a).
Next, if we are considering a representative for which lies in , we want to avoid producing output for two different values of , say and , if for some that takes to . Step 2(b)(b)(ii) ensures that this does not happen.
This shows that the algorithm does indeed output exactly one representative of each orbit of the divisors of degree on . It is clear that the space needed is . All we have left to do is to show that the algorithm runs in time .
References
- [1] E. R. Berlekamp, Factoring polynomials over large finite fields, Math. Comp. 24 (1970), 713–735. MR 276200
- [2] David G. Cantor and Hans Zassenhaus, A new algorithm for factoring polynomials over finite fields, Math. Comp. 36 (1981), no. 154, 587–592. MR 606517
- [3] Sergei Evdokimov, Factorization of polynomials over finite fields in subexponential time under GRH, Algorithmic number theory (Ithaca, NY, 1994), Lecture Notes in Comput. Sci., vol. 877, Springer, Berlin, 1994, pp. 209–219. MR 1322724
- [4] Joachim von zur Gathen and Victor Shoup, Computing Frobenius maps and factoring polynomials, Comput. Complexity 2 (1992), no. 3, 187–224. MR 1220071
- [5] Everett W. Howe, Enumerating hyperelliptic curves over finite fields in quasilinear time, 2024, to appear in the Proceedings of ANTS XVI. arXiv:2401.15255 [math.NT]
- [6] Erich Kaltofen and Victor Shoup, Subquadratic-time factoring of polynomials over finite fields, Math. Comp. 67 (1998), no. 223, 1179–1197. MR 1459389
- [7] Kiran S. Kedlaya and Christopher Umans, Fast polynomial factorization and modular composition, SIAM J. Comput. 40 (2011), no. 6, 1767–1802. MR 2863194
- [8] Daniel Maisner and Enric Nart, Abelian surfaces over finite fields as Jacobians, Experiment. Math. 11 (2002), no. 3, 321–337, With an appendix by Everett W. Howe. MR 1959745
- [9] Enric Nart, Counting hyperelliptic curves, Adv. Math. 221 (2009), no. 3, 774–787. MR 2511037
- [10] Lajos Rónyai, Galois groups and factoring polynomials over finite fields, SIAM J. Discrete Math. 5 (1992), no. 3, 345–365. MR 1172743