July 4, 2026: How many point counts determine an abelian variety?

With Shiva Chidambaram, we proved that for an abelian variety AA of dimension gg over a finite field 𝐅q\mathbf{F}_q, the first gg point counts #A(𝐅qi)\#A(\mathbf{F}_{q^i}) for 1ig1 \le i \le g already determine its zeta function, and hence, by Tate’s theorem, its isogeny class, once q>Q(g)q > Q(g) for an explicit (but far-from-optimal) constant. Since Kedlaya proved in 2006 that 2g2g counts suffice, this halves the number needed.

Why this matters. The counts cn=#A(𝐅qn)c_n = \#A(\mathbf{F}_{q^n}) are packaged into the zeta function, which is determined by the LL-polynomial fA(T)=det(1FrobqTHét1(A))=k=02gakTkf_A(T) = \det(1 - \operatorname{Frob}_q T \mid {\mathrm{H}}_\mathrm{\acute{e}t}^1(A)) = \sum_{k=0}^{2g} a_k T^k of degree 2g2g. Naively one expects 2g2g counts to solve for its 2g2g coefficients. But Poincaré duality pairs up the Frobenius eigenvalues, αiαi+g=q\alpha_i \alpha_{i+g} = q, giving a functional equation a2gk=qgkaka_{2g-k} = q^{g-k} a_k: the top half of the coefficients mirrors the bottom, so fAf_A has only gg free parameters. Our theorem turns “morally gg counts suffice” into a proof.

The idea. We track the power sums sn=iαins_n = \sum_i \alpha_i^{-n} of the inverse eigenvalues; knowing s1,,sgs_1,\dots,s_g is equivalent to knowing fAf_A. Since qnsn=Tr(FrobqnHét1(A))q^n s_n = \operatorname{Tr}(\operatorname{Frob}_q^n \mid {\mathrm{H}}_\mathrm{\acute{e}t}^1(A)) is an integer, computing sns_n to additive error below 12qn\tfrac12 q^{-n} and rounding recovers it exactly, and each count determines a perturbed power sum that the Weil bounds keep close to sns_n. For ng/2n \le g/2 the count c2nc_{2n} is also available and a Möbius inversion isolates sns_n; the hard range g/2<ngg/2 < n \le g needs an induction on the doubled power sums, whose error analysis is the technical heart of the paper.

An open sequence. Let N(g)N(g) be the least NN such that, for all large qq, the first NN counts determine the isogeny class of every gg-dimensional abelian variety. Our theorem gives N(g)gN(g) \le g, and a monotonicity argument gives N(g)4N(g) \ge 4 for g4g \ge 4. The small values surprise: N(1)=1N(1)=1, N(2)=2N(2)=2, but N(3)=2N(3)=2: two counts already determine an abelian threefold, because for n2n \le 2 the counts c1=fA(1)c_1 = f_A(1) and c2=fA(1)fA(1)c_2 = f_A(1)f_A(-1) are linear functionals whose common fibre meets the Weil region in at most one lattice point. This fails for n3n \ge 3, and indeed N(4)=4N(4)=4, witnessed by an explicit pair of fourfolds sharing c1,c2,c3c_1, c_2, c_3 as polynomials in qq but differing at c4c_4. A Gröbner-basis computation for g=5,6g = 5, 6 leads us to conjecture N(5)=N(6)=4N(5) = N(6) = 4, but by g=8g = 8 candidate collisions reappear and the growth of N(g)N(g) is wide open. As proved, the sequence reads N(g):1,2,2,4,[4,5],[4,6],[4,7],[4,8],,N(g):\qquad 1,\ 2,\ 2,\ 4,\ [4,5],\ [4,6],\ [4,7],\ [4,8],\ \dots, with intervals where we cannot yet pin down a single value.

Checked by machine. The recovery is constructive: an accompanying Sage script takes qq and c1,,cgc_1,\dots,c_g and returns fAf_A. Its analytic core, including the inductive error bound, is formalized in the Lean 4 proof assistant on top of Mathlib. The paper and all code are available at https://github.com/TimoKellerMath/AbelianVarietiesFqZetaPointsCount.