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.

Showing 1-3 of 3 results.

A362198 a(n) = number of isogeny classes of abelian surfaces over the finite field of order prime(n).

Original entry on oeis.org

35, 63, 129, 207, 401, 513, 765, 897, 1193, 1683, 1861, 2425, 2821, 3031, 3461, 4139, 4861, 5109, 5877, 6409, 6683, 7521, 8099, 8987, 10223, 10865, 11185, 11839, 12173, 12849, 15301, 16031, 17143, 17519, 19441, 19833, 21027, 22239, 23065, 24317, 25589, 26019, 28203, 28647, 29545, 29993
Offset: 1

Views

Author

Robin Visser, Apr 10 2023

Keywords

Comments

Two abelian varieties over a finite field are isogenous if and only if their Hasse-Weil zeta functions coincide.
Thus a(n) is the number of degree 4 integer polynomials with leading coefficient prime(n)^2, whose (complex) roots all have absolute value 1/sqrt(prime(n)).

Examples

			For n = 1, the a(1) = 35 possible isogeny classes correspond to the following 35 possible Hasse-Weil zeta functions of abelian surfaces over F_2: 4x^4 - 8x^3 + 8x^2 - 4x + 1, 4x^4 - 6x^3 + 5x^2 - 3x + 1, 4x^4 - 6x^3 + 6x^2 - 3x + 1, 4x^4 - 4x^3 + 2x^2 - 2x + 1, 4x^4 - 4x^3 + 3x^2 - 2x + 1, 4x^4 - 4x^3 + 4x^2 - 2x + 1, 4x^4 - 4x^3 + 5x^2 - 2x + 1, 4x^4 - 2x^3 - x^2 - x + 1, 4x^4 - 2x^3 - x + 1, 4x^4 - 2x^3 + x^2 - x + 1, 4x^4 - 2x^3 + 2x^2 - x + 1, 4x^4 - 2x^3 + 3x^2 - x + 1, 4x^4 - 2x^3 + 4x^2 - x + 1, 4x^4 - 4x^2 + 1, 4x^4 - 3x^2 + 1, 4x^4 - 2x^2 + 1, 4x^4 - x^2 + 1, 4x^4 + 1, 4x^4 + x^2 + 1, 4x^4 + 2x^2 + 1, 4x^4 + 3x^2 + 1, 4x^4 + 4x^2 + 1, 4x^4 + 2x^3 - x^2 + x + 1, 4x^4 + 2x^3 + x + 1, 4x^4 + 2x^3 + x^2 + x + 1, 4x^4 + 2x^3 + 2x^2 + x + 1, 4x^4 + 2x^3 + 3x^2 + x + 1, 4x^4 + 2x^3 + 4x^2 + x + 1, 4x^4 + 4x^3 + 2x^2 + 2x + 1, 4x^4 + 4x^3 + 3x^2 + 2x + 1, 4x^4 + 4x^3 + 4x^2 + 2x + 1, 4x^4 + 4x^3 + 5x^2 + 2x + 1, 4x^4 + 6x^3 + 5x^2 + 3x + 1, 4x^4 + 6x^3 + 6x^2 + 3x + 1, 4x^4 + 8x^3 + 8x^2 + 4x + 1.
		

Crossrefs

Programs

  • Sage
    from sage.rings.polynomial.weil.weil_polynomials import WeilPolynomials
    def a(n):
        p = Primes()[n-1]
        return len(list(WeilPolynomials(4,p)))
    
  • Sage
    def a(n):
        R. = PolynomialRing(CC)
        num_solutions = 0
        p = Primes()[n-1]
        for Cp in range(ceil(p+1-4*sqrt(p)), floor(p+1+4*sqrt(p))+1):
            for Cp2 in range(ceil(p^2+1-4*p), floor(p^2+1+4*p)+1):
                a2 = (Cp^2 + Cp2 + 2*p*(1-Cp) - 2*Cp)
                if a2%2 != 0:
                    continue
                L_poly = 1 + (Cp-p-1)*x + a2/2*x^2 + p*(Cp-p-1)*x^3 + p^2*x^4
                for r in L_poly.roots():
                    if (abs(abs(r[0]) - 1/sqrt(p)) > 1e-12):
                        break
                else:
                    num_solutions += 1
        return num_solutions

Formula

a(n) ~ (32/3) * prime(n)^(3/2).

A362201 a(n) = number of isogeny classes of dimension 3 abelian varieties over the finite field of order prime(n).

Original entry on oeis.org

215, 677, 2953, 7979, 30543, 50371, 112283, 156589, 277517, 555843, 678957, 1153875, 1569637, 1810805, 2364089, 3389675, 4675707, 5167277, 6846631, 8147047, 8855295, 11222313, 13014767, 16045439, 20772343, 23449327, 24870063, 27880975, 29473619, 32839031, 46617799, 51162221
Offset: 1

Views

Author

Robin Visser, Apr 10 2023

Keywords

Comments

Two abelian varieties over a finite field are isogenous if and only if their Hasse-Weil zeta functions coincide.
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)).

Crossrefs

Programs

  • Sage
    from sage.rings.polynomial.weil.weil_polynomials import WeilPolynomials
    def a(n):
        p = Primes()[n-1]
        return len(list(WeilPolynomials(6, p)))
    
  • Sage
    def a(n):
        R. = PolynomialRing(CC)
        num_solutions = 0
        p = Primes()[n-1]
        for a1 in range(ceil(-6*sqrt(p)), floor(6*sqrt(p))+1):
            for a2 in range(ceil(-15*p), floor(15*p)+1):
                for a3 in range(ceil(-20*p*sqrt(p)), floor(20*p*sqrt(p))+1):
                    L_poly = 1+a1*x+a2*x^2+a3*x^3+p*a2*x^4+p^2*a1*x^5+p^3*x^6
                    for r in L_poly.roots():
                        if (abs(abs(r[0]) - 1/sqrt(p)) > 1e-12):
                            break
                    else:
                        num_solutions += 1
        return num_solutions

Formula

a(n) ~ (1024/45) * prime(n)^3.

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.

Original entry on oeis.org

5, 7, 9, 9, 11, 9, 13, 13, 15, 13, 17, 17, 19, 20, 17, 21, 23, 15, 25, 25, 27, 27, 27, 29, 31, 31, 21, 33, 33, 35, 35, 29, 37, 37, 39, 41, 41, 41, 41, 43, 45, 37, 45, 25, 45, 47, 47, 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
Offset: 1

Views

Author

Robin Visser, Aug 02 2023

Keywords

Comments

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

Examples

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

Crossrefs

Programs

  • Sage
    for q in range(1, 1000):
        if Integer(q).is_prime_power():
            p, ans = Integer(q).prime_factors()[0], 0
            for a in range(-floor(2*sqrt(q)), floor(2*sqrt(q))+1):
                if (a%p != 0) or (Integer(q).is_square() and ((abs(a) == 2*sqrt(q))
                      or ((p%3 != 1) and (abs(a) == sqrt(q))) or ((p%4 != 1) and
                      (a==0)))) or ((not Integer(q).is_square()) and
                      (((p in [2,3]) and (abs(a) == sqrt(p*q))) or (a==0))):
                    ans += 1
            print(ans)

Formula

a(n) = 2*floor(2*sqrt(q)) + 1 if q is prime, where q = A246655(n).
Showing 1-3 of 3 results.