Enumerating hyperelliptic curves over finite fields in quasilinear time

Everett W. Howe
2024-06-21
Abstract:We present an algorithm that, for every fixed genus $g$, will enumerate all hyperelliptic curves of genus $g$ over a finite field $k$ of odd characteristic in quasilinear time; that is, the time required for the algorithm is $\widetilde{O}(q^{2g-1})$, where $q=\#k$. Such an algorithm already exists in the case $g=2$, thanks to work of Mestre and Cardona and Quer, and in the case $g=3$, thanks to work of Lercier and Ritzenthaler. Experimentally, it appears that our new algorithm is about two orders of magnitude faster in practice than ones based on their work.
Number Theory
What problem does this paper attempt to address?
The problem that this paper attempts to solve is how to enumerate hyperelliptic curves over a finite field in quasi - linear time. Specifically, for a fixed genus \(g\), the algorithm can enumerate all hyperelliptic curves of genus \(g\) over a finite field \(k\) of odd characteristic. Mathematically, this implies: - **Problem Background**: In many cases, one may wish to enumerate all hyperelliptic curves with a specific genus over a given finite field. For example, in order to determine whether there exist hyperelliptic curves with certain special properties (such as a specific number of points, a specific Zeta function, or a specific a - number), or to collect data about these curves in order to calculate the point distribution on them. - **Core Problem**: The author proposes an algorithm that can enumerate all hyperelliptic curves of genus \(g> 1\) over a finite field \(k\) of odd characteristic with a quasi - linear time complexity of \(eO(q^{2g - 1})\). Here, \(q\) is the number of elements in the finite field \(k\). ### Main Contributions 1. **Algorithm Efficiency**: Compared to previous work (such as that of Mestre, Cardona, and Quer), the new algorithm is approximately two orders of magnitude faster in practical applications. 2. **Theoretical Basis**: By introducing invariants of \(PGL_2(F_q)\) - orbits and understanding the cosets of \(PGL_2(F_q)\) in \(PGL_2(F_{q^2})\), the author provides an effective method to reduce duplicates and ultimately obtain a complete, non - repeating list of hyperelliptic curves. 3. **Special - case Handling**: The paper also discusses the case of characteristic 2 and provides a corresponding efficient algorithm. ### Formula Representation Some of the key formulas involved in the paper are as follows: - **Time Complexity**: \[ eO(q^{2g - 1}) \] Here, \(q = |k|\), that is, the number of elements in the finite field \(k\). - **Definition of Hyperelliptic Curve**: A hyperelliptic curve \(C\) can be represented as: \[ z^2 = f(x,y) \] where \(f(x,y)\) is a homogeneous polynomial in weighted projective space and \(f\in R_{2g + 2}\). - **Cross - ratio**: For four different elements \(P_1, P_2, P_3, P_4\in P^1(k)\), the cross - ratio is defined as: \[ \chi:=\frac{(α^{q^3}-α^q)(α^{q^2}-α)}{(α^{q^3}-α)(α^{q^2}-α^q)} \] In summary, the main objective of this paper is to develop an efficient algorithm that can quickly enumerate all hyperelliptic curves with a specific genus over a finite field, and the time complexity of this algorithm is \(eO(q^{2g - 1})\), which is of great significance in practical applications.