login
Trajectory of 1 under the morphism 1 -> 12, 2 -> 3, 3 -> 1.
6

%I #46 Mar 02 2021 13:42:02

%S 1,2,3,1,1,2,1,2,3,1,2,3,1,1,2,3,1,1,2,1,2,3,1,1,2,1,2,3,1,2,3,1,1,2,

%T 1,2,3,1,2,3,1,1,2,3,1,1,2,1,2,3,1,2,3,1,1,2,3,1,1,2,1,2,3,1,1,2,1,2,

%U 3,1,2,3,1,1,2,3,1,1,2,1,2,3,1,1,2,1,2,3,1,2,3,1,1,2,1,2,3,1,2

%N Trajectory of 1 under the morphism 1 -> 12, 2 -> 3, 3 -> 1.

%H Aresh Pourkavoos, <a href="/A105083/b105083.txt">Table of n, a(n) for n = 0..10000</a>

%H P. Arnoux and E. Harriss, <a href="http://www.ams.org/notices/201407/rnoti-p768.pdf">What is a Rauzy Fractal?</a>, Notices Amer. Math. Soc., 61 (No. 7, 2014), 768-770, also p. 704 and front cover.

%H Marcy Barge and Jaroslaw Kwapisz, <a href="http://www.jstor.org/stable/40068030">Geometric theory of unimodular Pisot substitutions</a>, Amer. J. Math. 128 (2006), no. 5, 1219--1282. MR2262174 (2007m:37039). See Fig. 18.1. - _N. J. A. Sloane_, Aug 06 2014

%H Victor F. Sirvent and Yang Wang, <a href="http://dx.doi.org/10.2140/pjm.2002.206.465">Self-Affine Tiling via Substitution Dynamical Systems and Rauzy Fractals</a>, Pac. J. Math., 206 (2002), 465-485. See Example 2.2 and Figure 2 pp. 474-475.

%H <a href="/index/Fi#FIXEDPOINTS">Index entries for sequences that are fixed points of mappings</a>

%F From _Aresh Pourkavoos_, Jan 26 2021: (Start)

%F Limit S(infinity) of the following strings: S(0) = 2, S(1) = 1, S(2) = 0, S(n+3) = S(n+2)S(n). S(n) has length A000930(n).

%F Individual terms of a(n) may also be found by greedily writing n as a sum of entries of A000930. a(n) is 2 if the smallest term is 1, 3 if the smallest term is 2, and 1 otherwise.

%F (End)

%t Nest[ Function[ l, {Flatten[(l /. {1 -> {1, 2}, 2 -> {3}, 3 -> {1}})] }], {1}, 12]

%o (Python)

%o N_TERMS=10000

%o def a():

%o # Index of the current term

%o n = 0

%o # Stores the place values of the greedy representation of n,

%o # minus two since A000930 begins with duplicate ones.

%o places = []

%o # Edge case: a(0)=1.

%o yield 0, 1

%o while True:

%o n += 1

%o # Add A000930(2+0)=1 to the representation of n

%o places.append(0)

%o # Apply carryover rule for as long as necessary:

%o # if places contains n+2 and n,

%o # both terms are replaced by n+3.

%o while len(places) > 1 and places[-2] <= places[-1]+2:

%o places.pop()

%o places[-1] += 1

%o # Look at the smallest term to decide a(n)

%o an = 1 if places[-1] > 1 else places[-1]+2

%o yield n, an

%o # Asymptotic behavior is O(log(n)*log(log(n))) memory

%o # and O(n) time to generate the first n terms,

%o # although a term may take as long as O(log(n)).

%o for n, an in a():

%o print(n, an)

%o if (n >= N_TERMS):

%o break

%o # _Aresh Pourkavoos_, Jan 26 2021

%Y Cf. A073058, A092782, A245553, A245554, A000390.

%K nonn

%O 0,2

%A _Roger L. Bagula_, Apr 06 2005

%E Edited by _N. J. A. Sloane_, Oct 10 2007 and Aug 03 2014