cp's OEIS Frontend

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.

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.

This page as a plain text file.
%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