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.

A268754 The period of an n X 1 rectangular oscillator in the B1/S Life-like cellular automaton.

Original entry on oeis.org

1, 2, 1, 6, 4, 14, 1, 14, 12, 62, 8, 126, 28, 30, 1, 30, 28, 1022, 24, 126, 124, 4094, 16, 2046, 252, 1022, 56, 32766, 60, 62, 1, 62, 60, 8190, 56, 174762, 2044, 8190, 48, 2046, 252, 254, 248, 8190, 8188, 16777214, 32, 4194302, 4092, 510, 504, 134217726, 2044, 2097150
Offset: 1

Views

Author

Lee Burnette, Feb 12 2016

Keywords

Comments

The seed in each case is a single live cell at the left end.
Terms of the form 2^k-1 have a period of 1 since all cells die.
In binary, all terms (except the 1's) have at least one 1 followed by at least one 0. The exceptions are the 36th and 94th terms and their derivatives, which have alternating 1's and 0's in their binary expansion.

Examples

			a(10) = 62 because a strip of 10 cells has period 62 in this rule.
		

Crossrefs

Even-indexed terms are exactly A160657. [corrected by Adam P. Goucher, Jan 13 2019]
Seems to be a shifted bisection of A334504 and A334507.

Programs

  • Mathematica
    g = Function[{sq, p}, Module[{l = Length[sq]},
    Do[If[sq[[i]] == sq[[j]], Return[p^(j - 1) - p^(i - 1)]],
    {j, 2, l}, {i, 1, j - 1}]]];
    MPM = Algebra`MatrixPowerMod;
    EventualPeriod = Function[{m, v, p},
    Module[{n = Length[m], w, sq, k, primes},
    sq = NestList[(MPM[#, p, p]) &, m, n];
    w = Mod[Last[sq].v, p];
    sq = Map[(Mod[#.w, p]) &, sq];
    k = g[sq, p];
    If[k == Null, k = p^n Apply[LCM, Table[p^r - 1, {r, 1, n}]]];
    primes = Map[First, FactorInteger[k]];
    primes = Select[primes, (# > 1) &];
    While[Length[primes] > 0,
    primes = Select[primes, (Mod[k, #] == 0) &];
    primes = Select[primes, (Mod[MPM[m, k/#, p].w, p] == w) &];
    k = k/Fold[Times, 1, primes];
    ]; k ]];
    mat = Function[{n}, Table[Boole[Abs[i - j] == 1], {i, 1, n}, {j, 1, n}]];
    vec = Function[{n}, Table[Boole[i == 1], {i, 1, n}]];
    Table[EventualPeriod[mat[n], vec[n], 2], {n, 1, 100}]
    (* Adam P. Goucher, Jan 13 2019 *)
  • Python
    def electron_period(n):
      wire_mask = (1 << n) - 1
      power = lam = 1
      tortoise, hare = 1, 2
      while tortoise != hare:
        if power == lam:
          tortoise = hare
          power *= 2
          lam = 0
        hare = ((hare << 1) ^ (hare >> 1)) & wire_mask
        lam += 1
      return lam

Formula

No general formula for even-indexed terms is known. For odd-indexed terms, a(2n+1) = 2*a(n), except when n is of the form (2^k - 1), in which case a(n) = 1.