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.

A246147 Index sequence for limit-block extending A010060 (Thue-Morse sequence) with first term as initial block.

This page as a plain text file.
%I A246147 #4 Aug 22 2014 10:22:18
%S A246147 0,3,6,12,20,30,36,68,92,116,132,156,180,228,260,308,356,420,452,516,
%T A246147 564,612,676,708,756,804,836,900,948,996,1076,1188,1268,1316,1460,
%U A246147 1572,1716,1764,1844,1956,2100,2212,2292,2340,2484,2740,2868,3060,3252,3380
%N A246147 Index sequence for limit-block extending A010060 (Thue-Morse sequence) with first term as initial block.
%C A246147 Suppose S = (s(0), s(1), s(2), ...) is an infinite sequence such that every finite block of consecutive terms occurs infinitely many times in S.  (It is assumed that A010060 is such a sequence.)  Let B = B(m,k) = (s(m), s(m+1),...s(m+k)) be such a block, where m >= 0 and k >= 0.  Let m(1) be the least i > m such that (s(i), s(i+1),...,s(i+k)) = B(m,k), and put B(m(1),k+1) = (s(m(1)), s(m(1)+1),...s(m(1)+k+1)).  Let m(2) be the least i > m(1) such that (s(i), s(i+1),...,s(i+k)) = B(m(1),k+1), and put B(m(2),k+2) = (s(m(2)), s(m(2)+1),...s(m(2)+k+2)).  Continuing in this manner gives a sequence of blocks B'(n) = B(m(n),k+n), so that for n >= 0, B'(n+1) comes from B'(n) by suffixing a single term; thus the limit of B'(n) is defined; we call it the "limiting block extension of S with initial block B(m,k)", denoted by S^  in case the initial block is s(0).
%C A246147 The sequence (m(i)), where m(0) = 0, is the "index sequence for limit-block extending S with initial block B(m,k)", as in A246147.
%C A246147 Limiting block extensions are analogous to limit-reverse sequences, S*, defined at A245920.  The essential difference is that S^ is formed by extending each new block one term to the right, whereas S* is formed by extending each new block one term to the left (and then reversing).
%e A246147 S = A010060, with B = (s(0)); that is, (m,k) = (0,0)
%e A246147 S = (0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,...)
%e A246147 B'(0) = (0)
%e A246147 B'(1) = (0,1)
%e A246147 B'(2) = (0,1,1)
%e A246147 B'(3) = (0,1,1,0)
%e A246147 B'(4) = (0,1,1,0,0)
%e A246147 B'(5) = (0,1,1,0,0,1)
%e A246147 S^ = (0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,...),
%e A246147 with index sequence (0,3,6,12,20,30,36,68,...)
%t A246147 seqPosition1[list_, seqtofind_] := If[Length[#] > Length[list], {}, Last[Last[Position[Partition[list, Length[#], 1], Flatten[{___, #, ___}], 1, 1]]]] &[seqtofind]; s = Nest[Flatten[# /. {0 -> {0, 1}, 1 -> {1, 0}}] &, {0}, 14]; (* A010060 *)
%t A246147 Take[s, 60]
%t A246147 t = {{0}}; p[0] = seqPosition1[s, Last[t]]; s = Drop[s, p[0]]; Off[Last::nolast]; n = 1; While[(p[n] = seqPosition1[s, Last[t]]) > 0, (AppendTo[t, Take[s, {#, # + Length[Last[t]]}]]; s = Drop[s, #]) &[p[n]]; n++]; On[Last::nolast]; Last[t] (* A246146 *)
%t A246147 -1 + Accumulate[Table[p[k], {k, 0, n - 1}]] (* A246147 *)
%Y A246147 Cf. A246146, A246127, A246140, A246142, A246144, A010060.
%K A246147 nonn
%O A246147 0,2
%A A246147 _Clark Kimberling_ and _Peter J. C. Moses_, Aug 17 2014