%I #20 Jul 23 2023 22:23:15
%S 215,677,2953,7979,30543,50371,112283,156589,277517,555843,678957,
%T 1153875,1569637,1810805,2364089,3389675,4675707,5167277,6846631,
%U 8147047,8855295,11222313,13014767,16045439,20772343,23449327,24870063,27880975,29473619,32839031,46617799,51162221
%N a(n) = number of isogeny classes of dimension 3 abelian varieties over the finite field of order prime(n).
%C Two abelian varieties over a finite field are isogenous if and only if their Hasse-Weil zeta functions coincide.
%C Thus a(n) is the number of degree 6 integer polynomials with leading coefficient prime(n)^3 and whose (complex) roots all have absolute value 1/sqrt(prime(n)).
%H Robin Visser, <a href="/A362201/b362201.txt">Table of n, a(n) for n = 1..50</a>
%H S. A. DiPippo and E. W. Howe, <a href="https://arxiv.org/abs/math/9803097">Real polynomials with all roots on the unit circle and abelian varieties over finite fields</a>, arXiv:math/9803097 [math.NT], 1998-2000.
%H T. Dupuy, K. Kedlaya, D. Roe, and C. Vincent, <a href="https://arxiv.org/abs/2003.05380">Isogeny Classes of Abelian Varieties over Finite Fields in the LMFDB</a>, arXiv:2003.05380 [math.NT].
%H S. Haloui, <a href="https://arxiv.org/abs/1003.0374">The characteristic polynomials of abelian varieties of dimensions 3 over finite fields</a>, arXiv:1003.0374 [math.AG], 2020.
%H LMFDB, <a href="https://www.lmfdb.org/Variety/Abelian/Fq/?search_type=Counts">Abelian variety count results</a>.
%H W. C. Waterhouse, <a href="https://doi.org/10.24033/asens.1183">Abelian varieties over finite fields</a>, Ann. Sci. École Norm. Sup. (4) 2 (1969), 521-560.
%F a(n) ~ (1024/45) * prime(n)^3.
%o (Sage)
%o from sage.rings.polynomial.weil.weil_polynomials import WeilPolynomials
%o def a(n):
%o p = Primes()[n-1]
%o return len(list(WeilPolynomials(6, p)))
%o (Sage)
%o def a(n):
%o R.<x> = PolynomialRing(CC)
%o num_solutions = 0
%o p = Primes()[n-1]
%o for a1 in range(ceil(-6*sqrt(p)), floor(6*sqrt(p))+1):
%o for a2 in range(ceil(-15*p), floor(15*p)+1):
%o for a3 in range(ceil(-20*p*sqrt(p)), floor(20*p*sqrt(p))+1):
%o L_poly = 1+a1*x+a2*x^2+a3*x^3+p*a2*x^4+p^2*a1*x^5+p^3*x^6
%o for r in L_poly.roots():
%o if (abs(abs(r[0]) - 1/sqrt(p)) > 1e-12):
%o break
%o else:
%o num_solutions += 1
%o return num_solutions
%Y Cf. A362198, A362570.
%K nonn
%O 1,1
%A _Robin Visser_, Apr 10 2023