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.

A299214 Number of representations of integers by cyclotomic binary forms.

Original entry on oeis.org

0, 0, 8, 16, 8, 0, 24, 4, 16, 8, 8, 12, 40, 0, 0, 40, 16, 4, 24, 8, 24, 0, 0, 0, 24, 8, 12, 24, 8, 0, 32, 8, 0, 8, 0, 16, 32, 0, 24, 8, 8, 0, 32, 0, 8, 0, 0, 12, 40, 12, 0, 32, 8, 0, 8, 0, 32, 8, 0, 0, 48, 0, 24, 40, 16, 0, 24, 8, 0, 0, 0, 4, 48, 8, 12, 24
Offset: 1

Views

Author

Michel Waldschmidt, Feb 16 2018

Keywords

Comments

a(m) is the number of solutions of the equation Phi_n(x,y) = m with n >= 3 and max{|x|,|y|} >= 2. Here the binary form Phi_n(x,y) is the homogeneous version of the cyclotomic polynomial phi_n(t).
One can prove that a(m) is always a multiple of 4.

Crossrefs

The sequence of indices m with a(m) != 0 is A296095.
The sequence of indices m with a(m) = 0 is A293654.

Programs

  • Julia
    using Nemo
    function countA296095(n)
        if n < 3 return 0 end
        R, x = PolynomialRing(ZZ, "x")
        K = Int(floor(5.383*log(n)^1.161)) # Bounds from
        M = Int(floor(2*sqrt(n/3)))        # Fouvry & Levesque & Waldschmidt
        N = QQ(n); count = 0
        for k in 3:K
            e = Int(eulerphi(ZZ(k)))
            c = cyclotomic(k, x)
            for m in 1:M, j in 0:M if max(j, m) > 1
                N == m^e*subst(c, QQ(j,m)) && (count += 1)
        end end end
        4*count
    end
    A299214list(upto) = [countA296095(n) for n in 1:upto]
    print(A299214list(76)) # Peter Luschny, Feb 25 2018
  • Maple
    x := 'x'; y := 'y':
    with(numtheory): for n from 3 to 1000 do
    F[n] := expand(y^phi(n)*cyclotomic(n, x/y))  od:
    g := 0:
    for m from 1 to 1000 do
       for n from 3 to 60 do  # For the bounds see the reference.
          for x from -60 to 60 do
             for y from -60 to 60 do
                if F[n] = m and  max(abs(x), abs(y)) > 1
                    then g := g+1 fi:
             od:
          od:
       od: a[m] := g: print(m, a[m]): g := 0
    od:
  • Mathematica
    For[n = 3, n <= 100, n++, F[n] = Expand[y^EulerPhi[n] Cyclotomic[n, x/y]]]; g = 0; For[m = 1, m <= 100, m++, For[n = 3, n <= 60, n++, For[x = -60, x <= 60, x++, For[y = -60, y <= 60, y++, If[F[n] == m && Max[Abs[x], Abs[y] ] > 1, g = g+1]]]]; a[m] = g; Print[m, " ", a[m]]; g = 0];
    Array[a, 100] (* Jean-François Alcover, Dec 01 2018, from Maple *)