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.

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.

Original entry on oeis.org

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

Views

Author

Keywords

Comments

The successive values of q are 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 17, 19, 23, ... (see A246655).

Examples

			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
		

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).

Crossrefs

Cf. A005523.

Programs

  • 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

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

Extensions

More terms from Robin Visser, Aug 03 2023