# Lauder: Counting Solutions to Equations in Many Variables over Finite Fields

We present an algorithm which allows us to count solutions to a homogeneous equation of degree (for simplicity we assume , ) with running time which does not increase exponentially in number of variables. In other words, we are interested in computing the number of projective solutions for every . We encode these numbers in the generating function which, by a theorem of Dwork, is in fact a rational function. We assume that is nonsingular, i.e. and for have no common projective solution. In this situation, we know that where .

If we compute naively for then we can of course recover the polynomial ; the time required to do this, however, requires evaluations of . The input is given by terms of size , and the output size is approximately . We would like the running time to be polynomial in this quantity.

If , we are counting solutions of a univariate polynomial, and this can be done in time . For , we have an algorithm of Schoof-Pila for curves which has run time where depends on exponentially. In general, there is an algorithm (due to L. and Wan) which runs in time . Notice the in the exponent--we would like to lose this dependence.

The new result: If is `sufficiently generic' (we exclude a Zariski closed set which is efficiently computable), , and , then we can find using bit operations. As a corollary, we see that if is sufficiently generic, then there exists an algorithm which takes as input a prime , outputs the number of solutions , and has run time .

Recall that , where we write for the projective variety defined by the equation . The action of can be represented by a matrix with entries in a field of characteristic zero, and we find that For curves, for example, the dimension is , and is a -module, for .

Instead, we work with the -adic theory, where is a -module for a ring . We compute instead , and compute the matrix of . (Specifically, where is the unramified extension of of degree and . Also our is actually the primitive part of the cohomology space.) Consider the family and assume that . Then and is a diagonal form, for which it is easy to count the number of solutions. Now is a -adic analytic function with the property that evaluated at a Teichmuller lift of is exactly the associated to .

We see that where , and is a matrix of power series around the origin satisfying the differential equation with initial condition , where is easily computed. This gives a way to compute in a radius around the origin, and we need to extend this to the closed disc of radius .

The entries of the matrices are -adic holomorphic functions, so to compute these modulo a power of we find rational functions with denominators corresponding to the values of where the variety becomes singular and then recover the numerator from the power series. Using overconvergence we get a bound on the degree of these rational functions. We evaluate the rational functions at . One gets nice complexity because we work with univariate power series, with decay in the coefficients on the order of , and one needs to take the power of approximately on the order of .

In the old algorithm, we would work in , the ring of power series in over an where is the unramified extension of of degree (if ) and modulo an infinite subspace; the power series we must work with have on the order of terms.

Problem. Find an algorithm which counts the number of points on a curve in time .

Back to the main index for Future directions in algorithmic number theory.