login
A005525
Maximal number of rational points on a curve of genus 2 over GF(q), where q = A246655(n) is the n-th prime power > 1.
(Formerly M4067)
5
6, 8, 10, 12, 16, 18, 20, 24, 26, 33, 32, 36, 42, 46, 48, 50, 52, 53, 60, 66, 68, 74, 78, 82, 90, 92, 97, 100, 104, 106, 114, 118, 120, 126, 136, 140, 144, 148, 150, 156, 166, 170, 172, 172, 176, 184, 186, 198, 200, 206, 214, 218, 222, 226, 232, 234, 246, 248, 252, 256, 268, 282
OFFSET
1,1
COMMENTS
The successive values of q are 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 19, 23, ... (see A246655).
REFERENCES
J. W. P. Hirschfeld, Linear codes and algebraic curves, pp. 35-53 of F. C. Holroyd and R. J. Wilson, editors, Geometrical Combinatorics. Pitman, Boston, 1984. See N_q(2) on page 51.
J.-P. Serre, Oeuvres, vol. 3, pp. 658-663 and 664-669.
N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
LINKS
Jean-Pierre Serre, Sur le nombre des points rationnels d'une courbe algébrique sur un corps fini, C. R. Acad. Sci. Paris Ser. I Math. 296 (1983), no. 9, 397-402.
W. C. Waterhouse, Abelian varieties over finite fields, Ann Sci. E.N.S., (4) 2 (1969), 521-560.
FORMULA
a(n) <= q + 1 + 4*sqrt(q) where q = A246655(n) [Hasse-Weil theorem]. - Robin Visser, Aug 03 2023
a(n) >= q - 1 + 2*floor(2*sqrt(q)) for all n except for 3 and 7, where q = A246655(n) [Serre]. - Robin Visser, Aug 03 2023
EXAMPLE
a(2) = 8 because 8 is the maximal number of rational points on a genus 2 curve over GF(3). One example of such a maximal curve is the genus 2 curve y^2 = x^6 + 2*x^2 + 1 which consists of the rational points (x,y) = (0, 1), (0, 2), (1, 1), (1, 2), (1, 1), (1, 2), and two points at infinity. - Robin Visser, Aug 03 2023
PROG
(Sage)
for q in range(1, 1000):
if Integer(q).is_prime_power():
p = Integer(q).prime_factors()[0]
if q==4: print(10)
elif q==9: print(20)
elif (Integer(q).is_square()): print(q + 1 + 4*sqrt(q))
elif ((floor(2*sqrt(q))%p == 0) or (q-1).is_square()
or (4*q-3).is_square() or (4*q-7).is_square()):
if (frac(2*sqrt(q)) > ((sqrt(5)-1)/2)): print(q + 2*floor(2*sqrt(q)))
else: print(q + 2*floor(2*sqrt(q)) - 1)
else: print(q + 1 + 2*floor(2*sqrt(q))) # Robin Visser, Aug 03 2023
CROSSREFS
Cf. A005523.
Sequence in context: A269135 A369666 A092121 * A023385 A315850 A315851
KEYWORD
nonn,easy,nice
EXTENSIONS
More terms from Robin Visser, Aug 03 2023
STATUS
approved