1

For any given 1D elementary and linear cellular automaton there exists a transition matrix. For example, for rule 60 the transition matrix is $$ \begin{bmatrix} 1 & 0 & 0 & \dots & 0 & 1 \\ 1 & 1 & 0 & \dots & 0 & 0\\ 0 & 1 & 1 & \dots & 0 & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \dots & 1 & 0 \\ 0 & 0 & 0 & \dots & 1 & 1 \end{bmatrix}. $$ Now, by getting the minimal polynomial of this matrix and getting its order we know the maximal cycle length of the cellular automaton.

The way to get the maximal cycle length of a polynomial is described for example in: J. G. Stevens, On the construction of state diagrams for cellular automata with additive rules, Information Sciences 115, 43 (1999); especially principle C.

Now, the contradiction:

Rule 90: $a_n^{t+1} = a_{n - 1}^{t} + a_{n + 1}^{t} \mod{2}$

Rule 150: $a_n^{t+1} = a_{n - 1}^{t} + a_{n}^{t} + a_{n + 1}^{t} \mod{2}$

For N = 6 the matrices for rule 90 and rule 150 are respectively $$A_{90}(N=6)= \begin{pmatrix} 0 & 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ \end{pmatrix}, A_{150}(N = 6) = \begin{pmatrix} 1 & 1 & 0 & 0 & 0 & 1 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 & 1 & 1 \\ \end{pmatrix} $$

The minimal polynomial is $\mu_{90}(\lambda) = \mu_{150}(\lambda) = \lambda^2 (1+\lambda)^2$. The order of this polynomial is 2, which gives the correct maximal cycle length for rule 90 but not for rule 150 (the correct maximal cycles of the cellular automaton can be calculated brute force as well and then be shown that for rule 150 and $N = 6$ is 1 and for rule 90 is 2). This problem persists not only for N = 6 sites but for other N's as well.

Why? How is this possible? What is the problem?

Jyrki Lahtonen
  • 140,891
Kostas
  • 31
  • I think if you go to the citation I provided, it is clear what they use as the definition of the order of the polynomials... I don't understand your comment " That does not work at all with your polynomials, because this never happens when f(x) has no constant term". What do you mean? I think that, in general, (apart from this specific problem), I have not encountered any issues using the definition of the order of the polynomials for the detection of cycles for cellular automata... – Kostas Nov 21 '22 at 20:53
  • I begin to think that what I call the order of a polynomial may reduce to yours, when I first cancel the highest power of $\lambda$. This makes some sense, because the cycles can only reside in the final image $=\bigcap_{n\ge0}\mathrm{Im}(A^n)$. – Jyrki Lahtonen Nov 21 '22 at 21:11
  • Do you have access to this citation? "Transient and cyclic behavior of cellular automata with null boundary conditions", from springer? They also state the same facts... I am really sorry, I didn't realize that there would exist a problem of you not having access...:) – Kostas Nov 21 '22 at 21:21
  • The polynomials don't have infinite order. Exactly this is what you have to account for: for $f(\lambda) = \lambda^n g(\lambda)$ , the order of $f$ is the same as the order of $g$ (you don't count $\lambda^n$ factors – Kostas Nov 21 '22 at 21:23
  • To calculate the minimal polynomial of a matrix I use the function given in MathWorld for "Matrix Minimal Polynomial", https://mathworld.wolfram.com/MatrixMinimalPolynomial.html – Kostas Nov 21 '22 at 21:24
  • I now realize that your earlier question is probably motivated by 2-dimensional cellular automata :-) – Jyrki Lahtonen Nov 22 '22 at 07:48
  • @JyrkiLahtonen, exactly!! That other question is for a specific 2D rule...:) – Kostas Nov 22 '22 at 11:41

1 Answers1

1

The matrix

$$A:=A_{90}(N=6)= \begin{pmatrix} 0 & 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ \end{pmatrix}$$

satisfies the equation $A^3=A$, and it is easy to show that its minimal polynomial is $\lambda^3+\lambda=\lambda(\lambda+1)^2$. This matches with the observed maximum cycle of length two.

The other matrix $$B:=A_{150}(N=6)=A+I_6$$ then satisfies the equation $$B^3+B^2=(A+I)^3+(A+I)^2=(A^3+A^2+A+I)+(A^2+I)=A^3+A=0,$$ and its minimal polynomial is $\lambda^3+\lambda^2=\lambda^2(\lambda+1)$. Again, this matches with the observed maximum cycle length of $1$.


This old MathOverflow answer of mine gets to the explanation as to how a repeated factor in the minimal polynomial multiplies the period length by an appropriate power of two.


May be the OP was mislead by using the Mathematica-snippet from MathWorld to calculate the minimal polynomials? That piece of code does not take into account the fact that we are working modulo two. Luckily it is easy to fix this (I tested this on Mathematica). The key function call can be made to work modulo two:

MatrixMinimalPolynomial[a_List?MatrixQ, x_] := 
 Module[{i, n = 1, qu = {}, 
   mnm = {Flatten[IdentityMatrix[Length[a]]]}}, 
  While[Length[qu] == 0, AppendTo[mnm, Flatten[MatrixPower[a, n]]];
   qu = NullSpace[Transpose[mnm], Modulus -> 2];
   n++];
  First[qu] . Table[x^i, {i, 0, n - 1}]]

Observe the additional option Modulus ->2 in the call to NullSpace.

Jyrki Lahtonen
  • 140,891
  • That is exactly what I was missing! Thank you so much... I never thought that NullSpace would need the modulus term! – Kostas Nov 22 '22 at 10:41
  • I never thought that this would be the issue...Sometimes is better to always check with analytics a s well...! Thanks for the clarification! – Kostas Nov 22 '22 at 10:57
  • The matrices are a bit large to calculate the minimal polynomial by hand. I noticed that $A_{150}(N=6)$ has two linearly independent eigenvectors belonging to $\lambda=1$. That was a bit suspicious (but not conclusive). When I noticed that the square of that matrix only had rank two, that was definitely incompatible with the "given" minimal polynomial. Then I had to check, and noticed that $B^3=B^2$ et cetera. Of course, my strongish background in algebra helped (even though here we only need the properties of Jordan blocks). – Jyrki Lahtonen Nov 22 '22 at 11:24
  • I am so pleased by "your background in algebra":) thanks again! – Kostas Nov 22 '22 at 11:40