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.

A276391 G.f. satisfies A(x) - 4*A(x^2) = x/(1+x).

Original entry on oeis.org

1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 171, 1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 683, 1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 171, 1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 2731, 1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 171, 1, 3, 1, 11, 1, 3, 1, 43, 1, 3, 1, 11, 1, 3, 1, 683, 1, 3, 1, 11, 1, 3
Offset: 1

Views

Author

Bill Gosper, Sep 07 2016

Keywords

Comments

Describes one of the two patterns of spacings of preimages of quadruple points of the Hilbert curve, H(t), 0 <= t <= 1. If H fills the complex unit square [0,1] X [0,i], H(0)=0, H(1)=1, then 1/2 + i/4 is a quadruple point with preimages t in {5/48, 7/48, 41/48, 43/48}. If we can characterize the rest of the quadruple points along the vertical bisector 1/2 + iy, all the rest are generated recursively by the to-quadrant maps (H/i + i)/2, (H + i)/2, (H + i + 1)/2, and (i H + 2)/2. Julian Ziegler Hunts has privately observed that H = 1/2 + ir is a quadruple point for all dyadic rational r in (0,1/2). E.g., the 31 r with denominator 64, i.e., 1/64, 3/64, ..., 31/64 generate preimage 4-tuples
{{1025, 1027, 11261, 11263}, {1037, 1039, 11249, 11251},
{1073, 1075, 11213, 11215}, {1085, 1087, 11201, 11203},
{1217, 1219, 11069, 11071}, {1229, 1231, 11057, 11059},
{1265, 1267, 11021, 11023}, {1277, 1279, 11009, 11011},
{1793, 1795, 10493, 10495}, {1805, 1807, 10481, 10483},
{1841, 1843, 10445, 10447}, {1853, 1855, 10433, 10435},
{1985, 1987, 10301, 10303}, {1997, 1999, 10289, 10291},
{2033, 2035, 10253, 10255}, {2045, 2047, 10241, 10243}}/12288
with differences
{{1, 1, -1, -1}, {3, 3, -3, -3}, {1, 1, -1, -1}, {11, 11, -11, -11},
{1, 1, -1, -1}, {3, 3, -3, -3}, {1, 1, -1, -1}, {43, 43, -43, -43},
{1, 1, -1, -1}, {3, 3, -3, -3}, {1, 1, -1, -1}, {11, 11, -11, -11},
{1, 1, -1, -1}, {3, 3, -3, -3}, {1, 1, -1, -1}}/1024
But the r in (1/2,1) are 1/6th as dense. The relevant quadruple points with denominator 2^n are 1/2 + i (6k - mod(5^n, 12))/2^n, 1 <= k < 2^n/6. E.g., if n = 6, then r is in {37/64, 43/64, 49/64, 55/64, 61/64} and the preimage 4-tuples of 1/2 + ir have differences {{-11, -11, 11, 11}, {-1, -1, 1, 1}, {-3, -3, 3, 3}, {-1, -1, 1, 1}}5/1024 (the reverse of) probably just -5*(this sequence).

Examples

			A(4) = 11. Thus
Table[unbert[1/2 + (2*4+1) I/2^n] - unbert[1/2 + (2*4-1) I/2^n], {n, 5, 9}]
{{11/256, 11/256, -11/256, -11/256},
{11/1024, 11/1024, -11/1024, -11/1024},
{11/4096, 11/4096, -11/4096, -11/4096},
{11/16384, 11/16384, -11/16384, -11/16384},
{11/65536, 11/65536, -11/65536, -11/65536}}
where unbert(H(t)) = {t}, the multivalued inverse Hilbert function (with I = sqrt(-1). See the definition of unbert[] in the MATHEMATICA section.
Note that this table must have n > 4, lest (2*4+1)/2^n > 1/2.
		

Crossrefs

Programs

  • Maple
    a:= proc(n) option remember; `if`(n=0, 0,
          `if`(n::odd, 1, 4*a(n/2)-1))
        end:
    seq(a(n), n=1..100); # Alois P. Heinz, Sep 07 2016
  • Mathematica
    (* Cf. the numerators of Out[339], below*)
    hilbert[t_] :=
    piecewiserecursivefractal[t, Identity, {Min[4, 1 + Floor[4*#]]} &,
        {1 - 4*# &, 4*# - 1 &, 4*# - 2 &, 4 - 4*# &},
        {I*(1 - #)/2 &, (I + #)/2 &, (I + 1 + #)/2 &, 1 + #*I/2 &}]
    (* E.g., hilbert[1/2] {1/2 + I/2} *)
    unbert[z_] :=
    piecewiserecursivefractal[z, Identity,
         If[0 <= Re[#] <= 1 && 0 <= Im[#] <= 1,
       Range[4], {}] &,
        {1 - 2*#/I &, 2*# - I &, 2*# - I - 1 &, (# - 1)*2/I &},
        {(1 - #)/4 &, (# + 1)/4 &, (# + 2)/4 &, 1 - #/4 &}]
    (* unbert[1/2 + I/2] {1/6, 1/2, 5/6} a triple point: hilbert/@% {{1/2 + I/2}, {1/2 + I/2}, {1/2 + I/2}} *)
    ClearAll[piecewiserecursivefractal];
    piecewiserecursivefractal[x_, f_, which_, iters_, fns_] :=
    CheckAbort[
      Check[piecewiserecursivefractal[x, g_, which, iters,
         fns] = ((piecewiserecursivefractal[x, h_, which, iters, fns] :=
           Block[{y}, y /. Solve[f[y] == h[y], y]]);
         Union @@ ((fns[[#]] /@
               piecewiserecursivefractal[iters[[#]][x],
                Composition[f, fns[[#]]], which, iters, fns]) & /@
            which[x])),
       Abort[], {$RecursionLimit::reclim, $RecursionLimit::reclim2}],
      piecewiserecursivefractal[x, g_, which, iters, fns] =.; Abort[]]
    (* For a simpler but less bulletproof version, see the MATHEMATICA section of A260482 *)
    In[338]:= unbert /@ (1/2 + I Range[1/32, 15/32, 1/16])
    Out[338]= {{257/3072, 259/3072, 2813/3072, 2815/3072},
                 {269/3072, 271/3072, 2801/3072, 2803/3072},
                 {305/3072, 307/3072, 2765/3072, 2767/3072},
                 {317/3072, 319/3072, 2753/3072, 2755/3072},
                 {449/3072, 451/3072, 2621/3072, 2623/3072},
                 {461/3072, 463/3072, 2609/3072, 2611/3072},
                 {497/3072, 499/3072, 2573/3072, 2575/3072},
                 {509/3072, 511/3072, 2561/3072, 2563/3072}}
    In[339]:= Differences@%
    Out[339]= {{1/256, 1/256, -1/256, -1/256},
                 {3/256, 3/256, -3/256, -3/256},
                 {1/256, 1/256, -1/256, -1/256},
                 {11/256, 11/256, -11/256, -11/256},
                 {1/256, 1/256, -1/256, -1/256},
                 {3/256, 3/256, -3/256, -3/256},
                 {1/256, 1/256, -1/256, -1/256}}
    (* Check that %338[[1]] is a quadruple point *)
    In[340]:= hilbert /@ %%[[1]]
    Out[340]= {{1/2 + I/32}, {1/2 + I/32}, {1/2 + I/32}, {1/2 + I/32}}
    In[341]:= Select[Range[0, 1, 1/512], Length[unbert[# + I/2] > 3] &]
    Out[341]= {}
    (* I.e., there aren't any quadruple points on the horizontal bisector of the unit square! Other such horizontal and vertical lines of dyadic rationals intersect a dense set of quadruple points. *)
    a[n_] := (2^(2*IntegerExponent[n, 2]+1) + 1)/3; Array[a, 100] (* Amiram Eldar, Dec 18 2023 *)
  • PARI
    a(n)= fromdigits(binary(n), 4)-fromdigits(binary(n-1), 4) \\ Bill McEachen, Dec 20 2024

Formula

a(n) = (2 + 4^A001511(n))/6.
G.f.: A(x) - 4*A(x^2) = x/(1+x).
From Alois P. Heinz, Sep 07 2016: (Start)
a(2^n) = A007583(n).
a(2^n+n) = a(n) + A000007(n).
(a(2*n)+1)/4 = a(n) for n>0. (End)
a(n) = A000695(n) - A000695(n-1). - Bill McEachen, Oct 30 2020
G.f.: Sum_{k>=0} 4^k * x^(2^k) / (1 + x^(2^k)). - Ilya Gutkovskiy, Dec 14 2020

Extensions

Keyword:mult added by Andrew Howroyd, Aug 06 2018