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?
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:
Observe the additional option
Modulus ->2in the call toNullSpace.