This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A364681 #14 Aug 04 2023 15:47:55 %S A364681 5,7,9,9,11,9,13,13,15,13,17,17,19,20,17,21,23,15,25,25,27,27,27,29, %T A364681 31,31,21,33,33,35,35,29,37,37,39,41,41,41,41,43,45,37,45,25,45,47,47, %U A364681 49,49,51,51,51,50,53,53,53,55,55,57,57,59,59,61,61,61,61,63,45,63,37,65,65 %N A364681 a(n) is the number of isogeny classes of elliptic curves over GF(q), where q = A246655(n) is the n-th prime power > 1. %C A364681 Two elliptic curves over a finite field F_q are isogenous if and only if they have the same trace of Frobenius, or equivalently, have the same number of points over F_q. %C A364681 Thus a(n) is the number of integers k such that there exists an elliptic curve over GF(q) with trace k, where q = A246655(n). %H A364681 Robin Visser, <a href="/A364681/b364681.txt">Table of n, a(n) for n = 1..10000</a> %H A364681 Max Deuring, <a href="https://doi.org/10.1007/BF02940746">Die Typen der Multiplikatorenringe elliptischer Funktionenkörper</a>, Abh. Math. Sem. Hansischen Univ. 14 (1941), 197-272. %H A364681 W. C. Waterhouse, <a href="https://doi.org/10.24033/asens.1183">Abelian varieties over finite fields</a>, Ann Sci. E.N.S., (4) 2 (1969), 521-560. %F A364681 a(n) = 2*floor(2*sqrt(q)) + 1 if q is prime, where q = A246655(n). %e A364681 For n = 1, the a(1) = 5 isogeny classes of elliptic curves over GF(2) are parametrized by the 5 possible values for the trace of Frobenius: -2, -1, 0, 1, 2. %e A364681 For n = 2, the a(2) = 7 isogeny classes of elliptic curves over GF(3) are parametrized by the 7 possible values for the trace of Frobenius: -3, -2, -1, 0, 1, 2, 3. %o A364681 (Sage) %o A364681 for q in range(1, 1000): %o A364681 if Integer(q).is_prime_power(): %o A364681 p, ans = Integer(q).prime_factors()[0], 0 %o A364681 for a in range(-floor(2*sqrt(q)), floor(2*sqrt(q))+1): %o A364681 if (a%p != 0) or (Integer(q).is_square() and ((abs(a) == 2*sqrt(q)) %o A364681 or ((p%3 != 1) and (abs(a) == sqrt(q))) or ((p%4 != 1) and %o A364681 (a==0)))) or ((not Integer(q).is_square()) and %o A364681 (((p in [2,3]) and (abs(a) == sqrt(p*q))) or (a==0))): %o A364681 ans += 1 %o A364681 print(ans) %Y A364681 Cf. A005523, A362570. %K A364681 nonn %O A364681 1,1 %A A364681 _Robin Visser_, Aug 02 2023