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.

A368824 a(n) is the smallest degree of (0,1)-polynomial with exactly n real distinct roots.

Original entry on oeis.org

1, 2, 7, 10, 19, 28
Offset: 1

Views

Author

Denis Ivanov, Jan 07 2024

Keywords

Comments

(0,1) (or Newman) polynomials have coefficients from {0,1}.

Crossrefs

Programs

  • Mathematica
    (* Suitable only for 1 <= n <= 4;
    for larger n, special Julia and Python packages are needed *)
    Table[Exponent[Monitor[Catch[Do[
       poly = FromDigits[IntegerDigits[k, 2], x];
       res = Length@{ToRules@Reduce[poly == 0, x, Reals]};
       If[res == n, Throw@{res, Expand@poly}]
       , {k, 2000}]], k][[2]], x], {n, 1, 4}]
  • Python
    from itertools import count
    from sympy.abc import x
    from sympy import sturm, oo, sign, nan, LT
    def A368824(n):
        for m in count(2):
            l = len(s:=bin(m)[2:])
            q = sturm(sum(int(s[i])*x**(l-i-1) for i in range(l)))
            a = [1 if (k:=LT(p).subs(x,-oo))==nan else sign(k) for p in q[:-1]]+[sign(q[-1])]
            b = [1 if (k:=LT(p).subs(x,oo))==nan else sign(k) for p in q[:-1]]+[sign(q[-1])]
            if n==sum(1 for i in range(len(a)-1) if a[i]!=a[i+1])-sum(1 for i in range(len(b)-1) if b[i]!=b[i+1]):
                return l-1 # Chai Wah Wu, Feb 15 2024

Formula

a(n) ~ C*n^2 (see Odlyzko and Poonen) with numerical estimate 0.7 < C < 0.9.