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.

A247650 Number of terms in expansion of f^n mod 2, where f = (1/x^2+1/x+1+x+x^2)*(1/y^2+1/y+1+y+y^2) mod 2.

This page as a plain text file.
%I A247650 #17 Sep 24 2024 02:13:30
%S A247650 1,25,25,49,25,289,49,361,25,625,289,361,49,961,361,625,25,625,625,
%T A247650 1225,289,3721,361,5041,49,1225,961,1681,361,5041,625,5929,25,625,625,
%U A247650 1225,625,7225,1225,9025,289,7225,3721,5041,361,8281,5041,5929,49,1225
%N A247650 Number of terms in expansion of f^n mod 2, where f = (1/x^2+1/x+1+x+x^2)*(1/y^2+1/y+1+y+y^2) mod 2.
%C A247650 This is the number of cells that are ON after n generations in a two-dimensional cellular automaton defined by the odd-neighbor rule where the neighborhood consists of a 5X5 block of contiguous cells.
%H A247650 Chai Wah Wu, <a href="/A247650/b247650.txt">Table of n, a(n) for n = 0..200</a>
%H A247650 N. J. A. Sloane, <a href="http://arxiv.org/abs/1503.01168">On the Number of ON Cells in Cellular Automata</a>, arXiv:1503.01168, 2015
%F A247650 The values of a(n) for n in A247647 (or A247648) determine all the values, as follows. Parse the binary expansion of n into terms from A247647 separated by at least two zeros: m_1 0...0 m_2 0...0 m_3 ... m_r 0...0. Ignore any number (one or more) of trailing zeros. Then a(n) = a(m_1)*a(m_2)*...*a(m_r). For example, n = 37_10 = 100101_2 is parsed into 1.00.101, and so a(37) = a(1)*a(5) = 25*289 = 7225. This is a generalization of the Run Length Transform.
%o A247650 (Python)
%o A247650 import sympy
%o A247650 from operator import mul
%o A247650 from functools import reduce
%o A247650 x, y = sympy.symbols('x y')
%o A247650 f = ((1/x**2+1/x+1+x+x**2)*(1/y**2+1/y+1+y+y**2)).expand(modulus=2)
%o A247650 A247650_list, g = [1], 1
%o A247650 for n in range(1, 101):
%o A247650     s = [int(d, 2) for d in bin(n)[2:].split('00') if d != '']
%o A247650     g = (g*f).expand(modulus=2)
%o A247650     if len(s) == 1:
%o A247650         A247650_list.append(g.subs([(x, 1), (y, 1)]))
%o A247650     else:
%o A247650         A247650_list.append(reduce(mul, (A247650_list[d] for d in s)))
%o A247650 # _Chai Wah Wu_, Sep 25 2014
%Y A247650 Cf. A071053, A247647, A247648, A247649.
%K A247650 nonn
%O A247650 0,2
%A A247650 _N. J. A. Sloane_, Sep 25 2014