We describe the practical implementation of an average polynomial-time
algorithm for counting points on superelliptic curves defined over
that is
substantially faster than previous approaches. Our algorithm takes as input a superelliptic
curve
with
and
any squarefree polynomial
of degree
, along with
a positive integer
.
It can compute
for all
not
dividing
in time
.
It achieves this by computing the trace of the Cartier–Manin matrix of reductions of
. We
can also compute the Cartier–Manin matrix itself, which determines the
-rank of the Jacobian of
and the numerator of its
zeta function modulo .
In memory of
\hrefhttps://en.wikipedia.org/wiki/Peter_Montgomery_(mathematician)Peter
L. Montgomery.
Keywords
superelliptic curve, Cartier–Manin matrix, Hasse–Witt
matrix, average polynomial-time