1 Introduction

Random substitution systems provide a model for structures that exhibit both long-range correlations and a positive topological entropy. This combination of aperiodic order and high complexity produces new features like a generic occurrence of both pure point and absolutely continuous components in the diffraction image [5, 9, 16]. Since the early exposition of random substitutions as branching processes in [20], they have served as models both in physics [8] and mathematical biology [12, 13]. A systematic study of some of their properties was undertaken in [24]. The non-trivial topological entropy is a property that distinguishes random substitutions from usual (deterministic) substitutions which are known to have a complexity function that increases at most linearly in the primitive case [3]. It has been the subject of recent work to quantify the topological entropy for some specific (families of) examples of random substitutions [5, 8, 9, 17, 18]. In all of these references, the first step was to quantify the growth of the number of possible inflation words, built from an initial letter under iterated actions of the random substitution. The concept of inflation word entropy, introduced in this paper, accounts for this procedure. We show that for a large class of random substitutions, that we will call semi-compatible, the inflation word entropy reproduces the value of the topological entropy. Also, we present a way to calculate the inflation word entropy efficiently, yielding a closed form expression in many cases. This result reproduces all of the known values of topological entropy mentioned above, providing much simpler proofs in some of the cases. It also allows us to work out the corresponding value for many new examples. Finally, we show that the topological entropy can be obtained from periodic words (if they exist).

The paper is structured as follows. In Sect. 2 we introduce primitive semi-compatible random substitutions and define the inflation word entropy for those systems. After some preliminary properties, we prove our main result in Sect. 3, giving a scheme to calculate the topological entropy at the same time. Section 4 is devoted to the discussion of examples and gives a number of criteria that allow us to simplify further the calculation of the topological entropy. We make a connection to periodic words in Sect. 5.

2 Setup and notation

We fix a finite alphabet \({\mathcal {A}} = \{ a_1, \ldots , a_n\}\) of cardinality n and take \({\mathcal {A}}^+\) to be the set of finite words in \({{\mathcal {A}}}\). The set of bi-infinite words in the alphabet \({\mathcal {A}}\) is given by \({\mathcal {A}}^{{\mathbb {Z}}}\). Further, we denote by \({\mathcal {F}} ({{\mathcal {A}}}^+)\) the set of finite (non-empty) subsets of \({\mathcal {A}}^+\). For \(A,B \in {{\mathcal {F}}}({{\mathcal {A}}}^+)\) we define a concatenation of sets as \(AB := \{ uv \mid u \in A, v \in B\}\), where uv denotes the standard concatenation of words. The cardinality of a set \(A \in {{\mathcal {F}}}({{\mathcal {A}}}^+)\) is denoted by \(\# A\). A subword of a word \(u=u_1 \cdots u_m\) is any word of the form \(u_{[k,\ell ]} := u_k \cdots u_{\ell }\), with \(1 \leqslant k \leqslant \ell \leqslant m\). For every \(u,v \in {{\mathcal {A}}}^+\), we write \(v \triangleleft u\) if v is a subword of u. Further, we let \(|u |\) denote the (symbolic) length of the word u and \(|u |_v\) the number of occurences of v in u as a subword. If any of these values is the same for all words u in a set \(A \in {{\mathcal {F}}}({{\mathcal {A}}}^+)\), we define \(|A |_v := |u |_v\) and \(|A |_{(\ell )} := |u |\), for arbitrary \(u \in A\). The subscript \((\ell )\) serves as a reminder that the latter should not be mistaken for the cardinality of the set A. The Abelianisation of a word \(u \in {{\mathcal {A}}}^{+}\) is an n-component vector \(\Phi (u)\), with \(\Phi (u)_i = |u |_{a_i}\), for all \(1 \leqslant i \leqslant n\). As before, we can extend \( \Phi \) to sets of words that share a common Abelianisation.

A random substitution generalizes the notion of a substitution on the alphabet \({{\mathcal {A}}}\) by allowing that a letter \(a \in {{\mathcal {A}}}\) is mapped to different words with predetermined probabilities — compare [20] for an early definition that emphasizes the interpretation as a branching process and [24] for a version that is notationally closer to standard substitutions. For the present, purely combinatorial purpose, we avoid specifying the probabilities. In this form it appears in [10].

Definition 1

A random substitution on the alphabet \({{\mathcal {A}}}\) is a map \(\vartheta :{{\mathcal {A}}} \rightarrow {{\mathcal {F}}}({{\mathcal {A}}}^+)\). It is extended to \({{\mathcal {A}}}^+\) via concatenation of sets

$$\begin{aligned} \vartheta :{{\mathcal {A}}}^+ \ni u = u_1 \cdots u_m \, \mapsto \, \vartheta (u_1) \cdots \vartheta (u_m) \end{aligned}$$

and to \({{\mathcal {F}}}({{\mathcal {A}}}^+)\) via taking unions

$$\begin{aligned} \vartheta :{{\mathcal {F}}}({{\mathcal {A}}}^+) \ni A \, \mapsto \, \bigcup _{u \in A} \vartheta (u), \end{aligned}$$

where the union is not necessarily disjoint. A random substitution \(\vartheta \) is called semi-compatible if for all \(a \in {{\mathcal {A}}}\) we have that \(u,v \in \vartheta (a)\) implies \({\varvec{\Phi }}(u) = {\varvec{\Phi }}(v)\).

Remark 2

Although in line with the more recent literature on this topic, using the term random substitution is to some extent arbitrary. The same concept has appeared under the name 0L-system in [22] in the context of formal language theory and was coined multivalued substitution in [6]. See [9] for a discussion of how this concept is related to the notion of (genuinely probabilistic) random substitutions as defined in [11, 15, 24]. The term semi-compatible was introduced in [9] to denote a weakening of the concept of a compatible random substitution, for which it is additionally assumed that all deterministic marginalisations of the random substitutions produce the same shift-space, compare [5, 15]. Again there is no consistency in the literature, as the term compatible was modified to mean what we call semi-compatible in [23].

Note that for a semi-compatible random substitution, both \(|\vartheta ^m(v) |_a\) and \(|\vartheta ^m(v) |_{(\ell )}\) are well-defined for all \(a \in {{\mathcal {A}}}\), \(v \in {{\mathcal {A}}}^+\) and all powers \(m \in {\mathbb {N}}\) of the substitution. A word \(v \in \vartheta ^m(a)\), for some \(a \in {{\mathcal {A}}}\), is called a (level-m) inflation word (starting from a).

Example 3

The random Fibonacci substitution on \({{\mathcal {A}}} = \{a,b\}\) is defined via \(\vartheta :a \mapsto \{ab,ba\}\) and \(b \mapsto \{a\}\). Here, \(\vartheta \) is semi-compatible because \(\vartheta (b)\) is a singleton-set and all words in \(\vartheta (a)\) have the same number of letters a and b appearing; more precisely, \(\Phi (ab) = \Phi (ba) = (1,1)^{\intercal }\).

The substitution matrix and language are standard concepts in the context of substitutions. For a generalization to random substitutions see [24]. We recall the definitions for the sake of being self-contained.

Definition 4

Let \(\vartheta \) be a semi-compatible random substitution on \({{\mathcal {A}}} = \{a_1,\ldots ,a_n\}\). The associated substitution matrixM is defined via \(M_{ij} = |\vartheta (a_j) |_{a_i}\) for all \(1 \leqslant i,j \leqslant n\). We call \(\vartheta \)primitive if M is a primitive matrix. In this case, we denote by \(\lambda \) the Perron–Frobenius (PF) eigenvalue of M and write \({\varvec{R}}\) and \({\varvec{L}}\) for the right and left PF eigenvector, respectively. The normalisation is chosen as \(\Vert {\varvec{R}} \Vert _1 = 1 = {\varvec{L}}^\intercal {\varvec{R}}\).

Definition 5

The language of a primitive random substitution \(\vartheta \) is given by all words that appear as a subword of some inflation word. More precisely,

$$\begin{aligned} {{\mathcal {L}}} = \{ v \in {{\mathcal {A}}}^+ \mid v \triangleleft u \in \vartheta ^m(a), \text{ for } \text{ some } a \in {{\mathcal {A}}}, m \in {\mathbb {N}}, u \in {{\mathcal {A}}}^+ \}. \end{aligned}$$

Words in \({{\mathcal {L}}}\) are called legal. The set of legal words of a given length \(\ell \in {\mathbb {N}}\), is denoted by \({{\mathcal {L}}}_{\ell } = \{ v \in {{\mathcal {L}}} \mid |v | = \ell \}\).

To a given language \({{\mathcal {L}}}\), there is an associated shift-dynamical system \(({\mathbb {X}},\sigma )\). Here,

$$\begin{aligned} {\mathbb {X}} = \{ x \in {{\mathcal {A}}}^{{\mathbb {Z}}} \mid x_{[k,\ell ]} \in {{\mathcal {L}}}, \text{ for } \text{ all } k\leqslant \ell \in {\mathbb {Z}} \} \end{aligned}$$

is closed, and thus compact, as a subset of \({{\mathcal {A}}}^{{\mathbb {Z}}}\) (endowed with the product topology) and \(\sigma :x \mapsto \sigma (x)\), with \(\sigma (x)_i = x_{i+1}\) denotes the left shift on \({\mathbb {X}}\). The corresponding topological entropy (compare [2]) can be expressed in terms of the language as

$$\begin{aligned} s \, = \, \lim _{\ell \rightarrow \infty } \frac{1}{\ell } \log (\# {{\mathcal {L}}}_{\ell }), \end{aligned}$$

where the limit exists due to subadditivity of the sequence \((\log (\# {{\mathcal {L}}}_{\ell }))_{\ell \in {\mathbb {N}}}\) by an application of Fekete’s Lemma [7]. For the rest of the paper, we will only consider primitive semi-compatible random substitutions. More specifically, we fix the following overarching notation.

Assumption 6

\(\vartheta \) is a primitive semi-compatible random substitution on the alphabet \({{\mathcal {A}}} = \{a_1,\ldots , a_n\}\).

For notational convenience, let us define \(\varvec{\ell }_m = (\ell _{m,1},\ldots ,\ell _{m,n})^\intercal \) and \({\varvec{q}}_m = (q_{m,1},\ldots ,q_{m,n})^\intercal \), where

$$\begin{aligned} \ell _{m,i} \, = \, |\vartheta ^m(a_i) |_{(\ell )} \quad \text{ and } \quad q_{m,i} \, = \, \log (\# \vartheta ^m(a_i) ), \end{aligned}$$

for all \(1 \leqslant i \leqslant n\) and \(m \in {\mathbb {N}}\).

Definition 7

The upper and lower inflation word entropy of type i for \(1 \leqslant i \leqslant n\) are given by

$$\begin{aligned} {\underline{s}}^I_i&\,= \, \liminf _{m \rightarrow \infty } \frac{q_{m,i}}{\ell _{m,i}} \, = \, \liminf _{m \rightarrow \infty } \frac{1}{|\vartheta ^m(a_i) |_{(\ell )}} \log (\# \vartheta ^m(a_i)), \\ {\overline{s}}^I_i&\,= \, \limsup _{m \rightarrow \infty } \frac{q_{m,i}}{\ell _{m,i}} \, = \, \limsup _{m \rightarrow \infty } \frac{1}{|\vartheta ^m(a_i) |_{(\ell )}} \log (\#\vartheta ^m(a_i)). \end{aligned}$$

One of the main results of this paper will be that the limits in the above expressions exist and that they are independent of i. This will justify us speaking of the inflation word entropy\(s^I\). Since \(\vartheta ^m(a_i) \subset {{\mathcal {L}}}_{\ell _{m,i}}\), it is immediate from the definition that the inflation word entropy is a lower bound for the topological entropy s.

The following fact determines the length of arbitrarily large inflation words by linear algebra. It follows immediately from the definition of the substitution matrix M; compare [3, Ch. 4] and [21, Ch. 5.3].

Fact 8

For every \(m \in {\mathbb {N}}\), we have that \( \varvec{\ell }_{m}^\intercal = \varvec{1}^\intercal M^m, \) where \(\varvec{1} = (1,\ldots ,1)\) denotes the n-dimensional vector with identical entries 1. In particular, \(\varvec{\ell }_{m}^\intercal = \varvec{\ell }_{m-1}^\intercal M\).

There are two special cases for the inflation word structure of \(\vartheta \) that deserve to be named since they mark the boundary cases in the calculations to come.

Definition 9

The random substitution \(\vartheta \) is said to satisfy the identical set condition if

$$\begin{aligned} u,v \in \vartheta (a_i) \implies \vartheta ^m(u) = \vartheta ^m(v), \end{aligned}$$

for all \(1 \leqslant i \leqslant n\) and \(m \in {\mathbb {N}}\). It is said to satisfy the disjoint set condition if

$$\begin{aligned} u, v \in \vartheta (a_i), u\ne v \implies \vartheta ^m(u) \cap \vartheta ^m(v) = \varnothing , \end{aligned}$$

for all \(1 \leqslant i \leqslant n\) and \(m \in {\mathbb {N}}\).

Lemma 10

For every \(m \in {\mathbb {N}}\), we have

$$\begin{aligned} {\varvec{q}}_m^\intercal M \, \leqslant \, {\varvec{q}}_{m+1}^\intercal \, \leqslant \, {\varvec{q}}_m^\intercal M + {\varvec{q}}_1^\intercal , \end{aligned}$$

where the inequalities are to be understood element-wise. The lower bound is an equality for all \(m \in {{\mathbb {N}}}\) if and only if the identical set condition holds and the upper bound is an equality for all \(m \in {{\mathbb {N}}}\) if and only if the disjoint set condition holds.

Proof

Let \(m \in {\mathbb {N}}\) and \(1 \leqslant i \leqslant n\). Then,

$$\begin{aligned} \vartheta ^{m+1}(a_i) \, = \, \vartheta ^m(\vartheta (a_i)) \, = \, \bigcup _{u \in \vartheta (a_i)} \vartheta ^m(u). \end{aligned}$$
(1)

For the moment, fix an arbitrary \(u \in \vartheta (a_i)\) and suppose \(|u | = r\). Then, by definition, \(\vartheta ^m(u) = \vartheta ^m(u_1)\cdots \vartheta ^m(u_r)\) and since all the words in \(\vartheta ^m(u_k)\), for a fixed \(1 \leqslant k \leqslant r\), have the same length, we find

$$\begin{aligned} \# \vartheta ^m(u) \, = \, \prod _{k=1}^r \# \vartheta ^m(u_k) \, = \, \prod _{j=1}^n (\# \vartheta ^m(a_j))^{|u |_{a_j}}. \end{aligned}$$

Due to the semi-compatibility condition, \(|u |_{a_j} = |\vartheta (a_i) |_{a_j} = M_{ji}\), for all \(1 \leqslant j \leqslant n\). Thus,

$$\begin{aligned} \# \vartheta ^m(u) \, = \, \prod _{j=1}^n (\# \vartheta ^m(a_j))^{M_{ji}}. \end{aligned}$$

Note that this is independent of the choice of \(u \in \vartheta (a_i)\). Taking cardinalities in (1) therefore yields

$$\begin{aligned} \prod _{j=1}^n (\# \vartheta ^m(a_j))^{M_{ji}} \, \leqslant \, \# \vartheta ^{m+1}(a_i) \, \leqslant \, (\# \vartheta (a_i)) \prod _{j=1}^n (\# \vartheta ^m(a_j))^{M_{ji}} , \end{aligned}$$

where the lower bound is an equality if and only if all the sets in the union in (1) coincide and the upper bound is an equality if and only if the union is disjoint. Taking the logarithm gives the desired relation. \(\square \)

Remark 11

More generally, we can show that for \(1\leqslant k \leqslant m\),

$$\begin{aligned} {{\varvec{q}}}_k^{\intercal } M^{m-k} \, \leqslant \, {{\varvec{q}}}_m^{\intercal } \, \leqslant \, {{\varvec{q}}}_k^{\intercal } M^{m-k} + {{\varvec{q}}}^{\intercal }_{m-k}. \end{aligned}$$

This follows by splitting \(\vartheta ^m(a_i) = \vartheta ^k(\vartheta ^{m-k}(a_i))\) in place of (1) and then following the same steps as in the proof above. It also leads to slightly different, although related, conditions for the realization of the upper or lower bound. \(\square \)

3 Main results

Our strategy to prove that the inflation word entropy is well defined and coincides with the topological entropy is to establish a sequence of lower and upper bounds for both quantities which eventually narrow down the set of possible values to a single point.

The first step in this direction is the following result.

Proposition 12

The upper and lower inflation word entropy are bounded by

$$\begin{aligned} \frac{1}{\lambda }{\varvec{q}}_1^\intercal {\varvec{R}} \, \leqslant \, {\underline{s}}_i^I \, \leqslant \, {\overline{s}}_i^I \, \leqslant \, \frac{1}{\lambda -1}{\varvec{q}}_1^\intercal {\varvec{R}}, \end{aligned}$$
(2)

for all \(1 \leqslant i \leqslant n\). The lower bound is an equality if the identical set condition is satisfied and the upper bound is an equality if the disjoint set condition is satisfied. For the lower bound, we additionally have that

$$\begin{aligned} \frac{1}{\lambda ^r}{\varvec{q}}_r^\intercal {\varvec{R}} \leqslant {\underline{s}}_i^I , \end{aligned}$$
(3)

for all \(r \in {\mathbb {N}}\), where the lower bound is a monotonically increasing function in r.

Proof

This is basically a direct consequence of Lemma 10 by an iterative application. More precisely, for \(m \geqslant 1\), we find, focusing first on the lower bound,

$$\begin{aligned} q_{m+1,i} \, \geqslant \, \left( {{\varvec{q}}}_r^\intercal M^{m+1-r} \right) _i \end{aligned}$$

for every \(1 \leqslant i \leqslant n\) and \(m \in {\mathbb {N}}\) that is larger than a fixed \(r \in {\mathbb {N}}\). Dividing both sides by \(\ell _{m+1,i}\) and taking the \(\liminf \) yields

$$\begin{aligned} {\underline{s}}_i^I \, \geqslant \, \liminf _{m \rightarrow \infty } \frac{1}{\lambda ^r} \frac{\lambda ^{m+1}}{\ell _{m+1,i}} \left( {{\varvec{q}}}_r^\intercal \frac{M^{m+1-r}}{\lambda ^{m+1-r}} \right) _i \, = \, \frac{1}{\lambda ^r} (L_i)^{-1} {{\varvec{q}}}_r^\intercal {\varvec{R}} L_i \, = \, \frac{1}{\lambda ^r}{\varvec{q}}_r^\intercal {\varvec{R}}. \end{aligned}$$

The penultimate step follows from standard PF theory and the assumption that M is primitive, implying

$$\begin{aligned} \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} M^m \, = \, {\varvec{R}} {\varvec{L}}^\intercal \end{aligned}$$

and

$$\begin{aligned} \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} \ell _{m,i} \, = \, \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} \left( {\varvec{1}}^\intercal M^m \right) _i \, = \, {\varvec{1}}^\intercal {\varvec{R}} L_i = L_i, \end{aligned}$$
(4)

where we have used Lemma 8 and the normalisation condition on the right eigenvector. In order to show monotonicity, note that

$$\begin{aligned} \frac{1}{\lambda ^{r+1}} {{\varvec{q}}}_{r+1}^\intercal {\varvec{R}} \, \geqslant \, \frac{1}{\lambda ^{r+1}} {{\varvec{q}}}_{r}^\intercal M {\varvec{R}} \, = \, \frac{1}{\lambda ^r} {{\varvec{q}}}_r^\intercal {\varvec{R}}, \end{aligned}$$

where the inequality is due to Lemma 10. For the upper bound, we proceed similarly. First,

$$\begin{aligned} q_{m+1,i} \leqslant \left( {{\varvec{q}}}_1^\intercal \sum _{k=0}^{m} M^k \right) _i, \end{aligned}$$

such that

$$\begin{aligned} {\overline{s}}_i^I \leqslant \limsup _{m \rightarrow \infty } \frac{1}{\lambda } \frac{\lambda ^{m+1}}{\ell _{m+1,i}} \left( {{\varvec{q}}}_1^\intercal \frac{1}{\lambda ^m} \sum _{k=0}^{m} M^k \right) _i = \frac{1}{\lambda } \left( 1-\frac{1}{\lambda } \right) ^{-1} {{\varvec{q}}}_1^\intercal {\varvec{R}} = \frac{1}{\lambda - 1} {{\varvec{q}}}_1^\intercal {\varvec{R}}. \end{aligned}$$

Note that, in the second step, we have made use of PF theory once more to conclude that

$$\begin{aligned} \limsup _{m \rightarrow \infty } \frac{1}{\lambda ^m} \sum _{k=0}^m M^k \, = \, \limsup _{m \rightarrow \infty } \sum _{j=0}^m \frac{1}{\lambda ^{j}} \frac{M^{m-j}}{\lambda ^{m-j}} \, = \, \sum _{j = 0}^{\infty } \frac{1}{\lambda ^{j}} {\varvec{R}} {\varvec{L}}^\intercal = \left( 1 - \frac{1}{\lambda } \right) ^{-1} {\varvec{R}} {\varvec{L}}^\intercal . \end{aligned}$$

The claim on the sufficient condition for the realization of the lower or upper bound is immediate from Lemma 10 and the above calculation. \(\square \)

As we remarked earlier, we clearly have \({\overline{s}}_i^I \leqslant s\). Our next step will be to bound s by the same upper bound that was given in Proposition 12 using an independent argument.

Proposition 13

The topological entropy associated with \(\vartheta \) satisfies

$$\begin{aligned} s \, \leqslant \, \frac{1}{\lambda -1} {{\varvec{q}}}_1^\intercal {\varvec{R}}. \end{aligned}$$

We proceed by a number of steps. First, we observe that semi-compatibility still guarantees the existence of uniform letter frequencies. Conceptually, this will be at the heart of the proof of Proposition 13.

Proposition 14

The language \({{\mathcal {L}}}\), corresponding to \(\vartheta \), exhibits uniform existence of letter frequencies in the following sense. For all \(\varepsilon > 0\) there is a length \(\ell \) such that for all \(u \in {{\mathcal {L}}}\) with \(|u | \geqslant \ell \), we have

$$\begin{aligned} \left| \frac{|u |_{a_i}}{|u |} - R_i \right| \, < \, \varepsilon . \end{aligned}$$
(5)

Sketch of proof

This is a well-known fact for primitive deterministic substitutions. The reason that it still holds for primitive semi-compatible random substitutions is that this is a property that basically relies on the Abelianisations of the inflation words only, which are fixed by the substitution matrix M. More specifically, compare the proof of [21, Thm. 5.6]. This carries over to our situation almost verbatim, if restricted to letters instead of general subwords (note that the construction no longer carries over for general subwords since this would involve induced substitutions which are no longer semi-compatible in the random case). \(\square \)

With this tool at hand, we are in the position to show that for large enough words, applying the substitution expands the words by a factor \(\lambda \), up to a small deviation.

Lemma 15

Let \(I_N = \vartheta ({{\mathcal {L}}}) \cap {{\mathcal {L}}}_N\). For all \(\varepsilon >0\), there is an \(N_0 \in {\mathbb {N}}\) such that, for all \(N \geqslant N_0\),

$$\begin{aligned} I_N \, \subset \, \bigcup _{m = \lceil N/(\lambda + \varepsilon n K) \rceil }^{ \lfloor N/(\lambda - \varepsilon n K) \rfloor } \vartheta ({{\mathcal {L}}}_m) , \end{aligned}$$
(6)

where \(K= \max _{1 \leqslant i \leqslant n} \ell _{1,i}\) and \(n = \# {{\mathcal {A}}}\), assuming \(\varepsilon \) is small enough that \(\lambda > \varepsilon n K\).

Proof

Let \(\varepsilon >0\), choose \(\ell \in {\mathbb {N}}\) such that (5) holds and let \(m \geqslant \ell \). Then, for \(u \in {{\mathcal {L}}}_m\), we find that \(|u |_{a_i} \in ( (R_i - \varepsilon )m, (R_i + \varepsilon )m)\) and thereby

$$\begin{aligned} |\vartheta (u) |_{(\ell )} \,= & {} \, \sum _{i=1}^n |u |_{a_i} |\vartheta (a_i) |_{(\ell )} \, < \, m \sum _{i=1}^n R_i \ell _{1,i} + \varepsilon m \sum _{i=1}^n \ell _{1,i} \\\leqslant & {} \, m {\varvec{\ell }}_1^\intercal {\varvec{R}} + \varepsilon m n K \, = \, m (\lambda + \varepsilon n K), \end{aligned}$$

where in the last step we have made use of \({\varvec{\ell }}_1^\intercal {\varvec{R}} = {\mathbf {1}}^\intercal M {\varvec{R}} = \lambda \). Analogously,

$$\begin{aligned} |\vartheta (u) |_{(\ell )} \, > \, m (\lambda - \varepsilon n K). \end{aligned}$$

Now choose \(N \geqslant N_0 = \lceil \ell (\lambda + \epsilon n K) \rceil \) and \(w \in I_N\) with \(w \in \vartheta (u)\) and \(|u | = m\). Then, by the bounds above

$$\begin{aligned} m(\lambda - \varepsilon n K) \,< \, |\vartheta (u) |_{(\ell )} \, = \, N \, < \, m (\lambda + \varepsilon n K), \end{aligned}$$

or, equivalently

$$\begin{aligned} \frac{N}{\lambda + \varepsilon n K} \,< \, m \, < \, \frac{N}{\lambda - \varepsilon n K}, \end{aligned}$$

which establishes the claim. \(\square \)

Corollary 16

In the situation of Lemma 15, let \(\lambda ^{\pm }_\varepsilon = \lambda \pm \varepsilon n K\). Then, for \(N \geqslant N_0\),

$$\begin{aligned} \# I_N \, \leqslant \, N \left( \frac{1}{\lambda ^-_\varepsilon } - \frac{1}{\lambda ^+_\varepsilon } \right) \bigl (\# {{\mathcal {L}}}_{ \lfloor N/\lambda ^-_\epsilon \rfloor } \bigr ) \prod _{i = 1}^{n} \left( \# \vartheta (a_i) \right) ^{ (R_i + \varepsilon ) N/\lambda ^-_\varepsilon }. \end{aligned}$$

Proof

Taking the cardinality of (6), we find

$$\begin{aligned} \# I_N \, \leqslant \, \sum _{m = \lceil N/\lambda ^+_\varepsilon \rceil }^{\lfloor N/\lambda ^-_\varepsilon \rfloor } \# \vartheta ({{\mathcal {L}}}_m) \, \leqslant \, \sum _{m = \lceil N/\lambda ^+_\varepsilon \rceil }^{\lfloor N/\lambda ^-_\varepsilon \rfloor } \sum _{u \in {{\mathcal {L}}}_m} \# \vartheta (u) . \end{aligned}$$

By the construction in the proof above, we have for \(u \in {{\mathcal {L}}}_m\), with \(N/\lambda ^+_\varepsilon \leqslant m \leqslant N/\lambda ^-_\varepsilon \),

$$\begin{aligned} \# \vartheta (u) \, = \, \# \vartheta (u_1) \cdots \# \vartheta (u_m) \, = \, \prod _{i=1}^n \left( \# \vartheta (a_i) \right) ^{|u |_{a_i}} \, \leqslant \, \prod _{i=1}^n \left( \# \vartheta (a_i) \right) ^{(R_i + \epsilon ) m}, \end{aligned}$$

which is monotonically increasing in m. Since also \(\# {{\mathcal {L}}}_m\) is increasing in m, the claim follows. \(\square \)

Finally, let us prove the upper bound for the topological entropy.

Proof of Proposition 13

Suppose \(v \in {{\mathcal {L}}}_N\). Then, there exists a \(u \in {{\mathcal {L}}}\) such that \(v \triangleleft v' \in \vartheta (u)\) for some \(v' \in {{\mathcal {L}}}\) with \(N \leqslant |v' | \leqslant N+2(K-1)\), with K as in Lemma 15. To account for the different possible positions of v within \(v'\), let us define the sets \({{\mathcal {F}}}_p^L(N) = \{ w_{[p,p+N-1]} \mid w \in I_L \}\), where we suppose that \(N \leqslant L\) and consider p within the range \(1\leqslant p \leqslant L-N+1\). Obviously,

$$\begin{aligned} {{\mathcal {L}}}_N \, \subset \, \bigcup _{L=N}^{N+2K} \bigcup _{p=1}^{L-N+1} {{\mathcal {F}}}_p^L(N). \end{aligned}$$

From the definition, it is clear that \(\# {{\mathcal {F}}}_p^L(N) \leqslant \# I_L\) for any N, p and L in their corresponding ranges. In particular, this bound is independent of p. Thereby,

$$\begin{aligned} \# {{\mathcal {L}}}_N&\, \leqslant \, \sum _{L=N}^{N+2K} (L-N+1) (\# I_L) \\&\, \leqslant \, (2K +1)^2 (N+2K) \left( \frac{1}{\lambda ^-_\varepsilon } - \frac{1}{\lambda ^+_\varepsilon } \right) \bigl ( \# {{\mathcal {L}}}_{ \lfloor (N+2K)/\lambda ^-_\epsilon \rfloor } \bigr ) \\&\quad \prod _{i = 1}^{n} \left( \# \vartheta (a_i) \right) ^{ (R_i + \varepsilon ) (N+2K)/\lambda ^-_\varepsilon }, \end{aligned}$$

where in the last step we have made use of Corollary 16, together with the monotonicity of the functions occurring therein. We note that the first three factors of the right hand side in the last expression exhibit only linear growth in N and therefore vanish under an application of \(\frac{1}{N}\log (\cdot )\), in the limit of large N. Consequently,

$$\begin{aligned} s&\, = \, \lim _{N \rightarrow \infty } \frac{1}{N} \log \left( \# {{\mathcal {L}}}_N \right) \\&\, \leqslant \, \lim _{N \rightarrow \infty }\frac{1}{N } \log \bigl ( \# {{\mathcal {L}}}_{ \lfloor (N+2K)/\lambda ^-_\epsilon \rfloor } \bigr ) + \frac{N+2K}{N \lambda ^-_\varepsilon } \sum _{i=1}^{n} (R_i + \varepsilon ) \log (\# \vartheta (a_i)) \\&\, = \, \frac{1}{\lambda ^-_\varepsilon } s + \frac{1}{\lambda ^-_\varepsilon } {{\varvec{q}}}_1^\intercal {\varvec{R}} + \frac{\varepsilon }{\lambda ^-_{\varepsilon }} \sum _{i=1}^{n} q_{1,i} \, \xrightarrow { \varepsilon \rightarrow 0 } \, \frac{1}{\lambda } s + \frac{1}{\lambda } {{\varvec{q}}}_1^\intercal {\varvec{R}}. \end{aligned}$$

This yields

$$\begin{aligned} s \, \leqslant \, \left( 1 - \frac{1}{\lambda } \right) ^{-1} \frac{1}{\lambda } {{\varvec{q}}}_1^\intercal {\varvec{R}} \, = \, \frac{1}{\lambda -1} {{\varvec{q}}}_1^\intercal {\varvec{R}}, \end{aligned}$$

as desired. \(\square \)

We summarise our main findings in the following result.

Theorem 17

Suppose \(\vartheta \) is a primitive semi-compatible random substitution on the alphabet \({{\mathcal {A}}} = \{a_1,\ldots ,a_n\}\) with entropy s and lower (upper) inflation word entropies \({\underline{s}}_i^I\) (\({\overline{s}}_i^I\)). Then, for \(1\leqslant i \leqslant n\) and every \(m \in {\mathbb {N}}\), we have

$$\begin{aligned} \frac{1}{\lambda ^m} {{\varvec{q}}}_m^\intercal {\varvec{R}} \, \leqslant \, {\underline{s}}_i^I \, \leqslant \, {\overline{s}}_i^I \, \leqslant \, s \, \leqslant \, \frac{1}{\lambda ^m -1} {{\varvec{q}}}_m^\intercal {\varvec{R}}. \end{aligned}$$
(7)

In particular, the inflation word entropy

$$\begin{aligned} s^I = \lim _{m \rightarrow \infty } \frac{1}{\ell _{m,i}} \log (\#\vartheta ^m(a_i)) \end{aligned}$$

is well-defined, independent of i and equals the topological entropy s. Both can be calculated as

$$\begin{aligned} s \, = \, s^I \, = \, \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} {{\varvec{q}}}_m^\intercal {\varvec{R}} \, = \, \sup _{m \in {\mathbb {N}}} \frac{1}{\lambda ^m} {{\varvec{q}}}_m^\intercal {\varvec{R}}. \end{aligned}$$
(8)

Proof

The only statement in (7), which is not immediate from Propositions 12 and 13, is maybe the upper bound for s for arbitrary values of \(m \in {\mathbb {N}}\). However, this follows readily from Proposition 13, applied to the substitution \(\vartheta ^m\). To see this, note that \(\vartheta ^m\) is itself clearly primitive semi-compatible and induces the same subshift as \(\vartheta \) and hence also gives the same entropy. Combine this with the observation that \(q_{m,i}(\vartheta ) = \log (\# \vartheta ^m(a_i)) = q_{1,i}(\vartheta ^m)\).

This establishes that \(s^I\) is well-defined via

$$\begin{aligned} 1 \, \leqslant \, \frac{{\overline{s}}_i^I}{{\underline{s}}_i^I} \, \leqslant \, \frac{\lambda ^m}{\lambda ^m -1} \, \xrightarrow {m \rightarrow \infty } \, 1. \end{aligned}$$

The fact that \(s = s^I\) and the formula for its calculation in (8) follow similarly. \(\square \)

4 Examples and applications

The procedures presented in the last section might raise the hope to find a closed form expression for the entropy of any primitive semi-compatible random substitutions. In general, the difficulty lies in quantifying the overlaps of sets of the form \(\vartheta ^m(u)\), \(u \in \vartheta (a_i)\), in case they are non-trivial and thereby lie strictly in between the identical set condition and the disjoint set condition. Usually, one works out inductive relations for these intersections which are specific for the substitution at hand—compare [5, 9, 17,18,19]. However, if one of the limiting cases holds, we do get a closed formula for the topological entropy.

Corollary 18

The identical set condition implies

$$\begin{aligned} s \, = \, \frac{1}{\lambda } {{\varvec{q}}}_1^\intercal {\varvec{R}}, \end{aligned}$$

while the disjoint set condition is sufficient for

$$\begin{aligned} s \, = \, \frac{1}{\lambda - 1} {{\varvec{q}}}_1^\intercal {\varvec{R}}. \end{aligned}$$

Proof

This is an immediate consequence of Proposition 12 and Theorem 17. \(\square \)

Clearly, a sufficient criterion for the identical set condition is that \(\vartheta (a) = \vartheta (b)\) for all \(a,b \in {{\mathcal {A}}}\). One such substitution was considered in [24].

Example 19

Let \(\vartheta :a \mapsto \{ab,ba\}, \, b \mapsto \{ab,ba\}\) be a random substitution with \(\lambda = 2\) and \({\varvec{R}} = (1/2,1/2)^\intercal \). It was shown in [24] that the subshift constructed from this random substitution is in fact a sofic shift. Since \(\vartheta (a) = \vartheta (b)\), we find

$$\begin{aligned} s \, = \, \frac{1}{2} (\log (2),\log (2)) {\varvec{R}} \, = \, \frac{1}{2} \log (2) \end{aligned}$$

for the topological entropy. \(\square \)

In the case of constant length random substitutions, there is an easy sufficient criterion to ensure the disjoint set condition.

Corollary 20

In the situation above, assume in addition that \(\vartheta \) is a constant-length substitution. That is, there exists a length \(k \in {\mathbb {N}}\) such that \(|\vartheta (a) |_{(\ell )} = k\), for all \(a \in {{\mathcal {A}}}\). If, in addition, \(\vartheta \) satisfies the disjoint inflation set condition

$$\begin{aligned} \vartheta (a) \cap \vartheta (b) \, = \, \varnothing , \end{aligned}$$
(9)

for all \(a,b \in {{\mathcal {A}}}\) with \(a \ne b\), then the entropy is given by the upper bound

$$\begin{aligned} s \, = \, \frac{1}{\lambda -1} {{\varvec{q}}}_1^\intercal {\varvec{R}}. \end{aligned}$$

Proof

It clearly suffices to show that the disjoint inflation set condition implies the disjoint set condition in the constant-length setting.

Let \(a,b \in {{\mathcal {A}}}\), with \(a\ne b\). First, it follows by induction that \(\vartheta ^m(a) \cap \vartheta ^m(b) = \varnothing \) for all \(m \in {\mathbb {N}}\): Suppose it is true for all m up to \(m_0 \in {\mathbb {N}}\). With the aim of establishing a contradiction, suppose further that \(w \in \vartheta ^{m_0+1}(a) \cap \vartheta ^{m_0+1}(b)\). Then, there is \(u \in \vartheta ^{m_0}(a)\) and \(v \in \vartheta ^{m_0}(b)\) such that \(w \in \vartheta (u) \cap \vartheta (v)\). Since \(\vartheta ^{m_0}(a) \cap \vartheta ^{m_0}(b) = \varnothing \) by the induction assumption, \(u \ne v\), so there exists a position j such that \(u_j \ne v_j\) (recall that \(|u | = |v |\) because \(\vartheta \) is constant-length). Thus, \(w \in \vartheta (u) \cap \vartheta (v)\) implies that

$$\begin{aligned} w_{[(j-1)k + 1,j k]} \in \vartheta (u_j) \cap \vartheta (v_j) \, = \, \varnothing \end{aligned}$$

by the constant-length condition, giving the desired contradiction.

Next, let \(1 \leqslant i \leqslant n\) and \(u,v \in \vartheta (a_i)\), with \(u \ne v\). Then, \(u_j \ne v_j\) for some \(1 \leqslant j \leqslant |u | = |v |\). Suppose there is \(w \in \vartheta ^m(u) \cap \vartheta ^m(v)\), for some \(m \in {\mathbb {N}}\). Since each word in \(\vartheta ^m(a)\), \(a \in {{\mathcal {A}}}\) has length \(k^m\), this would imply

$$\begin{aligned} w_{[(j-1)k^m + 1, jk^m]} \in \vartheta ^m(u_j) \cap \vartheta ^m(v_j) \, = \, \varnothing , \end{aligned}$$

leading to a contradiction. Consequently \(\vartheta ^m(u) \cap \vartheta ^m(v) = \varnothing \). \(\square \)

Let us apply our results to a number of ‘test cases’ for which the topological entropy has been calculated in previous work. In particular, we will look at random variants of the well-known Fibonacci, Period Doubling and Thue–Morse substitutions.

Example 21

(Random Period Doubling). \(\vartheta _{RPD} :a \mapsto \{ab,ba\} ,\, b \mapsto \{aa \}\), with data \(\lambda = 2\), \({\varvec{R}} = (2/3,1/3)^\intercal \) and \({{\varvec{q}}}_1 = (\log (2),0)^\intercal \). As this is a constant-length substitution satisfying the disjoint inflation set condition, we can apply Corollary 20 and obtain

$$\begin{aligned} s_{RPD} \, = \, \frac{1}{\lambda -1} {{\varvec{q}}}_1^\intercal {\varvec{R}} \, = \, \frac{2}{3} \log (2). \end{aligned}$$

This coincides with the value computed in [5]. \(\square \)

Example 22

(Random Thue–Morse). \(\vartheta _{RTM} :a \mapsto \{ab,ba\},\, b \mapsto \{ba\} \), with data \(\lambda = 2\), \({\varvec{R}} = (1/2,1/2)^\intercal \), \({{\varvec{q}}}_1^\intercal = (\log (2),0)\). This substitution is also constant-length, but no longer satisfies the disjoint inflation set condition. Indeed,

$$\begin{aligned} 0.1733 \, \approx \, \frac{1}{4} \log (2) \, = \, \frac{1}{\lambda } {{\varvec{q}}}_1^\intercal {\varvec{R}} \,< \, s_{RTM} \, < \, \frac{1}{\lambda - 1} {{\varvec{q}}}_1^\intercal {\varvec{R}} \, = \, \frac{1}{2} \log (2) \approx 0.3466. \end{aligned}$$

The numerical value of \(s_{RTM}\) was computed in [9] to be

$$\begin{aligned} s_{RTM} \, \approx \, 0.253917. \end{aligned}$$

We can, of course, improve our bounds by going to higher powers. For this, it is useful to establish inductive relations between the sets of inflation words. Concretely, we observe that \(\vartheta ^m(b) \subset \vartheta ^m(a)\) for all \(m \in {\mathbb {N}}\), which yields

$$\begin{aligned} \# \vartheta ^{m+1}(a)&\, = \, \# \left( \vartheta ^m(a) \vartheta ^m(b) \cup \vartheta ^m(b) \vartheta ^m(a) \right) \, = \, 2 (\# \vartheta ^m(a)) (\#\vartheta ^m(b)) - (\# \vartheta ^m(b))^2, \end{aligned}$$

making use of the fact that \(\vartheta ^m(a) \vartheta ^m(b) \cap \vartheta ^m(b) \vartheta ^m(a) = \vartheta ^m(b) \vartheta ^m(b)\). Also,

$$\begin{aligned} \# \vartheta ^{m+1}(b) \, = \, (\# \vartheta ^m(b)) (\# \vartheta ^m(a)). \end{aligned}$$

This gives a scheme to compute \({{\varvec{q}}}_m\) for arbitrarily large numbers \(m \in {\mathbb {N}}\) at relatively low computational cost (as compared to naively counting the cardinalities of inflation word sets). For example, we obtain for \(m = 5\),

$$\begin{aligned} 0.25177\approx & {} \frac{1}{64} \log (9953280) = \frac{1}{\lambda ^5} {{\varvec{q}}}_5^\intercal {\varvec{R}}< s_{RTM} < \frac{1}{\lambda ^5-1} {{\varvec{q}}}_5^\intercal {\varvec{R}} \\= & {} \frac{1}{62} \log (9953280) \approx 0.25989, \end{aligned}$$

reproducing the first two valid digits. \(\square \)

Example 23

(Random Fibonacci). \(\vartheta _{RF}:a \mapsto \{ab,ba\},\, b \mapsto \{a\}\), with data \(\lambda = \tau \) the golden ration, \({\varvec{R}} = \frac{1}{1+\tau } (\tau , 1 )^\intercal \), \({{\varvec{q}}}_1^\intercal = (\log (2),0)\). Note that, due to the small inflation factor, the convergence rate of the lower and upper bounds to the real value of the entropy, given by

$$\begin{aligned} s_{RF} \, = \, \sum _{m=2}^{\infty } \frac{\log (m)}{\tau ^{m+2}} \, \approx \, 0.444399, \end{aligned}$$
(10)

will be relatively poor. The exact value for the entropy was worked out in [8, 15, 19]. Concretely,

$$\begin{aligned} 0.265 \, \approx \, \frac{1}{\tau ^2} \log (2) \, = \, \frac{1}{\tau } {{\varvec{q}}}_1^\intercal {\varvec{R}} \,< \, s_{RF} \, < \, \frac{1}{\tau -1} {{\varvec{q}}}_1^\intercal {\varvec{R}} \, = \, \log (2) \approx 0.693. \end{aligned}$$

It was shown in [19, Prop. 6] that

$$\begin{aligned} \# \vartheta ^{m+1}(b) \, = \, \# \vartheta ^{m}(a) \, = \, (m+1) \prod _{j=2}^{m+1} (m+2-j)^{f_{j -2}}, \end{aligned}$$

where \(\{f_j\}_{j \in {\mathbb {N}}}\) denotes the Fibonacci sequence. From this, it is a straightforward calculation to check that any of the formulas for computing \(s^I\) that are given in Theorem 17 indeed reproduces the expression for \(s_{RF}\) in (10). \(\square \)

With the example of the random Fibonacci substitution we have left the realm of constant length substitutions. Although Corollary 20 is no longer applicable in this situation, there are other sufficient criteria to ensure the disjoint set condition. In [23], two properties of \(\vartheta \) are introduced, called disjoint images and disjoint inflation images. The disjoint inflation images property can be shown to be equivalent to the disjoint set condition, whereas the disjoint images property is stronger in general. We can thereby carry over a result that shows that failing the disjoint set condition requires certain structural properties from a primitive semi-compatible random substitution.

Fact 24

Suppose \(\vartheta \) does not satisfy the disjoint set condition. Then, the following two properties hold.

(1):

There are distinct \(a,b \in {{\mathcal {A}}}\) and \(u_a \in \vartheta (a)\), \(u_b \in \vartheta (b)\) such that \(u_a\) is a prefix of \(u_b\).

(2):

There are distinct \(a,b \in {{\mathcal {A}}}\) and \(u_a \in \vartheta (a)\), \(u_b \in \vartheta (b)\) such that \(u_a\) is a suffix of \(u_b\).

The proof for the existence of a prefix was spelt out in [23, Lem. 14]. The corresponding result for the suffix follows exactly the same line of argument. Corollary 20 is obviously a special case of this result for the constant-length setting.

Example 25

Many examples that we have considered so far are actually compatible, compare Remark 2. We will now turn to an example that violates compatibility but is still semi-compatible. This is a random variant of the square of the deterministic Fibonacci substitution, the entropy of which was treated in [18]. It is determined by \(\vartheta _{RF^2} :a \mapsto \{baa\}, \, b \mapsto \{ab,ba\}\), \(\lambda = \tau ^2\), \({\varvec{R}} = \frac{1}{1+\tau } (\tau ,1)^\intercal \).

Since there is no level-1 inflation word that appears as the suffix of another, we can apply Fact 24 to conclude that the disjoint set condition holds and thus,

$$\begin{aligned} s \, = \, \frac{1}{\tau ^2 -1} \frac{1}{\tau +1} \log (2) \, = \, \frac{1}{\tau ^3} \log (2), \end{aligned}$$

reproducing the result given in [18, Thm. 2]. This way, we can avoid any of the technical combinatorial estimates presented in [18] to work out the entropy. \(\square \)

Let us now turn to some examples that have not yet been covered by the literature on entropy (to the best of the author’s knowledge).

Example 26

(Random paper folding). Let \(\vartheta _{RPF} :a \mapsto \{ab,ba\},\, b \mapsto \{cb,bc\},\, c \mapsto \{ad,da\}\) and \( d \mapsto \{cd,dc\}\) be a random substitution with \(\lambda = 2\) and \(R_i = 1/4\) for all \(1 \leqslant i \leqslant 4\). Clearly, the disjoint set condition for constant-length substitutions applies and we find \( s = \log (2). \)\(\square \)

Example 27

[23, Ex. 19]. We consider the random substitution \(\vartheta :a \mapsto \{ abbabba, ababbba\}\), \(b \mapsto \{a \}\), \(\lambda = 4\), \({\varvec{R}} =\frac{1}{2} (1,1)^\intercal \). This example was shown to satisfy global unique recognisability [23, Def. 18], a property that precludes the existence of periodic points [23, Prop. 21]. Since it also implies the disjoint set condition [23, Prop. 23], we can work out the topological entropy to be \(s = \frac{1}{6} \log (2)\). \(\square \)

Remark 28

Let us comment on the scope of our result. An important motivation for studying primitive substitutions is that they provide examples for mathematical analogues of quasicrystals [3]. In this context, every letter \(a_i \in {\mathcal {A}}\) is usually replaced by a tile of length \(L_i\) which allows us to interpret the substitution as an inflation rule on the tiles. Because semi-compatibility ensures that the left eigenvector is well-defined, a similar identification works for primitive semi-compatible random substitutions, leading to the concept of a random inflation rule. The corresponding tiling space of infinite tilings can be obtained from a suspension of \(({\mathbb {X}},\sigma )\), where the roof function reflects the length of the individual tiles. Since the average tile length is 1, it follows from a standard result by Abramov [1] that the topological entropy of the suspension flow coincides with the topological entropy s of \(({\mathbb {X}},\sigma )\). Alternatively, given \(x \in {\mathbb {X}}\) we can identify each tile of the corresponding tiling with its left endpoint, giving rise to a Delone point set, which is naturally equipped with a continuous group of translations \(T = \{T_t\}_{t \in {\mathbb {R}}}\). The spaces \(({\mathbb {Y}},T)\) of Delone sets, that are obtained from a primitive semi-compatible random substitution have been the object of recent studies [5, 9, 15] and were shown to yield interesting diffraction patterns that contain both Bragg peaks as well as a continuous component, compare also [8]. Both the type of the diffraction measure of a point set and the topological entropy of a system are usually interpreted as indicators for (dis)order, so it is interesting to compare them—see also [4] for a connection between diffraction and entropy in a different setting. If \(({\mathbb {Y}},T)\) is equipped with an appropriate topology, it is topologically conjugate to the corresponding suspension flow. Therefore, in the case of a primitive semi-compatible random substitution, the topological entropy of \(({\mathbb {Y}},T)\) is given by s and can be computed with our methods.

5 Topological entropy from periodic points

In this section, we will show that the topological entropy can be constructed from the growth rate of periodic elements, provided there is at least one (and thus infinitely many) periodic elements in the subshift \({\mathbb {X}}\) that is associated with our random substitution.

The class of general random substitutions is very large. It has been shown, for example, that every (topologically transitive) shift of finite type (SFT) can be obtained from an appropriate primitive random substitution [10]. For such an SFT (even for the more general class of sofic shifts) it is well-known that the topological entropy can be obtained from the growth rate of the number of periodic elements [14, Thm. 4.3.6]. This raises the question whether a similar statement holds for the topological entropy of primitive semi-compatible random substitutions.

Definition 29

Given a language \({{\mathcal {L}}}\), the set of periodic words of period q is given by

$$\begin{aligned} {{\mathcal {P}}}(q) \, = \, \{ u \in {{\mathcal {L}}} \mid |u | = q, \; \text {with} \; u^N \in {{\mathcal {L}}}, \; \text {for all} \; N \in {\mathbb {N}}\}, \end{aligned}$$

where \(u^N = u \cdots u\) denotes the concatenation of N copies of the word u. Note that these sets might be empty.

Given a random substitution, the existence of periodic words in its language is a subtle problem. An initial investigation was performed in [23], giving a number of criteria to exclude the existence of periodic points and an algorithm that checks whether a given word is periodic for a large family of semi-compatible random substitutions. However, there remain many cases that are not decidable by any of those results. The next proposition shows that if we assume the existence of periodic words, there are sufficiently many to reproduce the full topological entropy. This is essentially due to the fact that periodic words produce periodic words under the substitution procedure.

Proposition 30

The topological entropy of a primitive semi-compatible random substitution can be obtained from its sets of periodic words via

$$\begin{aligned} s \, = \, \limsup _{q \rightarrow \infty } \frac{1}{q} \log (\# {{\mathcal {P}}}(q)), \end{aligned}$$

provided that there exists at least one (and thus infinitely many) periodic words.

Proof

Choose some \(q \in {\mathbb {N}}\) and \(u \in {{\mathcal {P}}}(q)\). Then, \(w \in {{\mathcal {P}}}(|\vartheta ^m(u) |_{(\ell )} )\) for all \(w \in \vartheta ^m(u)\), by construction. That is, \(\vartheta ^m(u) \subset {{\mathcal {P}}}(|\vartheta ^m(u) |_{(\ell )})\). Denote by \(\Phi (u)\) the Abelianisation of u. It is then a straightforward application of PF theory to conclude that

$$\begin{aligned} \lim _{m \rightarrow \infty } \frac{|\vartheta ^m(u) |_{(\ell )}}{\lambda ^m}= & {} \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} \sum _{i=1}^n |u |_{a_i} |\vartheta ^m(a_i) |_{(\ell )} \\= & {} \lim _{m \rightarrow \infty } \frac{1}{\lambda ^m} {\varvec{\ell }}_m^\intercal \Phi (u) = {\mathbf {1}}^\intercal {\varvec{R}} {\varvec{L}}^\intercal \Phi (u) = {\varvec{L}}^\intercal \Phi (u). \end{aligned}$$

Also, we find a lower bound for the cardinality of some sets of periodic words by

$$\begin{aligned} \# {{\mathcal {P}}} \bigl (|\vartheta ^m(u) |_{(\ell )} \bigr ) \, \geqslant \, \# \vartheta ^m(u) \, = \, \prod _{i=1}^n (\# \vartheta ^m(a_i))^{\Phi (u)_i}. \end{aligned}$$

Recalling that \(q_{m,i} = \log (\# \vartheta ^m(a_i))\), we find

$$\begin{aligned} \limsup _{m \rightarrow \infty } \frac{1}{|\vartheta ^m(u) |_{(\ell )}} \log \bigl (\# {{\mathcal {P}}} \bigl (|\vartheta ^m(u) |_{(\ell )}\bigr ) \bigr )&\, \geqslant \, \limsup _{m \rightarrow \infty } \frac{1}{|\vartheta ^m(u) |_{(\ell )}} {{\varvec{q}}}_m^\intercal \Phi (u) \\&\, \geqslant \, \limsup _{m \rightarrow \infty } \frac{1}{{\varvec{L}}^\intercal \Phi (u)} \frac{1}{\lambda ^r} {{\varvec{q}}}_r^\intercal \frac{M^{m-r}}{\lambda ^{m-r}} \Phi (u) \\&\, = \, \frac{1}{\lambda ^r} {{\varvec{q}}}_r^\intercal {\varvec{R}} \, \xrightarrow { r \rightarrow \infty } \, s, \end{aligned}$$

where we have made use of Lemma 10 in the last inequality and (8) for the last step. This finishes the proof. \(\square \)