Amazingly, summing the terms of a cycle seems to be equal to the number of odd terms, whatever the period and the value of N.
That’s easy to prove for antisymetric parity vectors (parity vectors of even lengths where the first half is same as the second but reversed, like [01], [0011], [010101]…) and I think it shouldn’t be too hard for other parity vectors. I’m on it.
Here is what I have for now. As you can see that’s clear that it works for antisymmetrical parity vectors, but not so much for the general case.
Let’s consider d, an odd positive integer, and c, any positive integer such that traj(c/d) is cyclic (over the tricot (2k→Nk, 2k+1→Nk+1) with N an odd integer).
Let’s assume c and d are coprime
Let’s note E the set of the members of c/d 's cycle. Here we are going to show that sum(E)=sum(traj(c/d)).
Take note that terms of a cycle have to be between 0 and 1 (to prove that you can separate case N=1, where sequences over 1 have to decrease ans sequences under 0 have to increase, and case N>1, where it’s the opposite, anyway none of those can become a cycle).
Thus, 0<=c<=d and E is a subset of {0/d,1/d,… 1}.
As traj(c/d) is cyclic, so is traj(1-c/d) (easy to prove): you obtain it by inverting all the bits of traj(c/d).
Let’s note E’ as being the set of the members of 1-c/d ‘s cycle. Either E=E’ (if traj(c/d) is antisymetrical), or E and E’ are disjoint (easy to prove).
If E=E’, then for any x in E you can find 1-x in E. By gathering those pairs, sum(E) = sum(x + (1-x) such that x is even and in E) = (number of even elements of E) = sum(traj(c/d))
If E and E’ are disjoint, for any x in E you can find 1-x in E’ and reciprocally.
sum(union(E,E’)) = sum(E)+sum(E’) = sum(x+(1-x) such that x is in E) = card(E) = sum(traj(c/d)) + sum(traj(1-c/d))
So there is a functional equation of the form
f_N(1-x) = 1-f_N(x)
for the tricot f_N whatever the odd integer N. Not difficult to verify. This is cool!
In other words, f_N is autoconjugated. The dynamics of x and 1-x are perfectly mirrored, for any rational x (with an odd denominator). With a lot of consequences…
Here is a general proof for the sum of the terms of a cycle.
Let \Sigma_o and \Sigma_e denote the sums of odd and even terms, respectively. Let q be the number of odd terms.
The tricot f_N can also be defined as follows:
- even x \rightarrow Nx/2
- odd x \rightarrow (Nx-(N-2))/2
If we apply f_N to all terms of the cycle, the sum of the images of the odd terms is equal to
(N/2)\Sigma_o - q(N-2)/2,
and the sum of the images of the even terms is equal to
(N/2)\Sigma_e.
Since we consider a cycle, the set of images of all terms is exactly the set of the terms of the cycle. Therefore,
(N/2)\Sigma_o - q(N-2)/2 + (N/2)\Sigma_e = \Sigma_o + \Sigma_e
or equivalently
(N-2)(\Sigma_o + \Sigma_e) = q(N-2)
which simplifies to
\Sigma_o + \Sigma_e = q.
Observe that this method can be applied to Collatz as well, in which case we obtain that
\Sigma_e - \Sigma_o = q, very similar
. You can find this property at the end of K.G. Monks’ paper (2002).
BTW I use the following method to calculate trajectories by hand more quickly.
Let’s say you want the trajectory of, for example, 47/579. With N=1.
(leading 0s are only so that it looks nicer on a computer)
Write 47 on the first line, and 579-47 on the second:
047
532
then, look for the even one, divide by 2, multiply by N, and note that on the right:
047
532 266
complete the column, so that it sums to 579: (or do 47+266)
047 313
532 266
carry on, until you meet 47 somewhere:
047 313 446 223 401 490 245 412 206 103 341 460 230 115 347 463 521 550 275 427 503 541 560 280 140 070 035 307 443 511 545 562 281 430 215 397 488 244 122 061 320 160 080 040 020 010 005 292 146 073 326 163 371 475 527 553 566 283 431 505 542 271 425 502 251 415 497 538 269 424 212 106 053 316 158 079 329 454 227 403 491 535 557 568 284 142 071 325 452 226 113 346 173 376 188 094 047
532 266 133 356 178 089 334 167 373 476 238 119 349 464 232 116 058 029 304 152 076 038 019 299 439 509 544 272 136 068 034 017 298 149 364 182 091 335 457 518 259 419 499 539 559 569 574 287 433 506 253 416 208 104 052 026 013 296 148 074 037 308 154 077 328 164 082 041 310 155 367 473 526 263 421 500 250 125 352 176 088 044 022 011 295 437 508 254 127 353 466 233 406 203 391 485 532
And thus, we found that traj(47/579) = [110110100110011110111100001111101011000100000010010111110111011011101000100110111110001100101000] (a cycle of length 96)
Also we get another cycle of length 96 for 532/579 and from what we previously found there has to be at least two other complementary length 96 cycles, for 001 and 478
579 = 3*193 so we can also expect to find the cycles from x/193 and x/3 reprensented here:
traj(193/579) = traj(1/3) = [10]
traj(3/579) = traj(1/193) = repeat the process to find an antisymmetrical cycle of length 96, which means there is another one of the same length for some x/193)
And of course, as always,
traj(0/579) = traj(0) = [0]
traj(579/579) = traj(1) = [1]
We can check anytime that we got all the cycles if the sum of their lengths is equal to 579+1.
696+2+21 = 580 = 579+1
I would like to propose a (not that small) digression around the same theme of “tricots” which turn out to be linked to various number systems.
For a fixed odd integer N, consider the following mapping:
Send 2k on Nk and 2k-1 on Nk-1.
Setting N=1, if we look at the parity sequence of the iterates, we can easily recognize the representation in base 2 of the first integer of the sequence, from the least to the greatest significant digit. This algorithm works also on rationals with an odd denominator, in which case we obtain the 2-adic representation of the first term.
Now, setting N=3, things are getting weird. Note that the mapping 2k-1 \rightarrow 3k-1 is another formulation for x \rightarrow (3x+1)/2 when x is odd, as in Collatz.
Unlike the case N=1, this tricot is injective so that we can define the inverse mapping:
- 3k \rightarrow 2k
- 3k-1 \rightarrow 2k-1
However, it is not defined on integers of the form 3k-2, so we may add the mapping:
3k-2 \rightarrow 2k-2
When starting from a positive integer, we obtain a decreasing sequence of integers until reaching the fixed point zero.
Next, we keep track of each transformation of the form 3k-r \rightarrow 2k-r by writing sequentially the successive values of r encountered.
What is amazing is that the resulting “ternary” sequence gives the representation of the first term in base 3/2. This rational base number system was introduced quite recently (2008) and is thoroughly studied since then.
A puzzling question would be “how to interpret the forward mapping?”. My guess is that it could be interpreted as a computation of a “representation” in base 2/3 which happens to be infinite (thus leading to some hypothetical 2/3-adic number system?). I write "hypothetical " because only base p/q number systems with p>q coprime integers seems to have been defined in the litterature.
Just wanted to share another way of viewing these mappings. They are clearly linked to Collatz (see this paper from 2025) and to the cellular automaton studied by @cosmo who noticed that base changes occur when applying the Collatz map.
Rather than formulating like this:
I use the notation
\begin{pmatrix}
N & 0\\
N & N-1
\end{pmatrix}
which means “send 2k on Nk and 2k+1 on Nk+(N-1)”
Your reverse tricot would be:
\begin{pmatrix}
2 & 0\\
2 & 0\\
2 & 1
\end{pmatrix}
Its height is 3, which is coprime with 2, so you have the unicity of trajectory, which is nice.
What is your criterium for unicity (of the resulting representation)?
And do you think we have unicity with the forward mapping below
\begin{pmatrix} 3 & 0\\ 3 & 2 \end{pmatrix}?
Not sure I follow you, but I am talking about unicity of trajectories, meaning you can’t have two different numbers that produce the same pattern.
For example, perhaps there is a number whose trajectory is 10110011100011110000… (meaning that’s an odd number that is mapped to an even number, that is mapped to an odd, then another odd, then an even, an even, odd, odd, odd…), that property of unicity guarantees that this is the only number with that trajectory.
I have a demonstration that as long as all the affine coefficients are coprime with the height, you have that unicity of trajectories. For that last mapping the height is 2 and the affine coefficients are 3 and 3, as 2 and 3 are coprime we indeed have unicity of trajectories.
Thanks, this is exactly what I was asking for ![]()
I wonder if we also have unicity on rationals when your condition holds.
I haven’t written the proof for rationals but I am confident it holds as long as the denominator is odd.
draft for a demonstration demonstration (as it is it would only work for height-2 tricots but you can see how it should scale):
Consider the following tricot:
T_a=\begin{pmatrix}
N_0 & a_0\\
N_1 & a_1
\end{pmatrix}
and any integer k
Is it possible to pick b_0 and b_1 such that for any x
traj(x/(2k+1),T_a) = traj(x,T_b)
where T_b=\begin{pmatrix} N_0 & b_0\\ N_1 & b_1 \end{pmatrix}
If we find a way to pick b_0 and b_1, then we can deduce the unicity of trajectories of rationals-with-odd-denominators under T_a from the unicity of trajectories of integers under T_b.
To find those bs we can look at constraints.
Under T_b, 2y\rightarrow N_0y+b_0.
Under T_a, 2y/(2k+1) \rightarrow N_0y/(2k+1)+a_0.
Thus we need traj(N_0y+b_0,T_b)=traj(N_0y/(2k+1)+a_0,T_a)
but traj(N_0y+b_0,T_b) = traj((N_0y+b_0)/(2k+1),T_a).
As we want unicity of trajectories we need that N_0y/(2k+1)+a_0 = (N_0y+b_0)/(2k+1)
=> a_0(2k+1) = b_0
Now for b_1, let’s do the same:
Under T_b, 2y+1\rightarrow N_1y+b_1.
Under T_a, (2y+1)/(2k+1) \rightarrow N_1((2y+1)/(2k+1)-1)/2+a_1 = N_1((y-k)/(2k+1))+a_1.
Thus we need traj(N_1y+b_1,T_b)=traj(N_1((y-k)/(2k+1))+a_1,T_a)
but traj(N_1y+b_1,T_b) = traj((N_1y+b_1)/(2k+1),T_a).
As we want unicity of trajectories we need that N_1((y-k)/(2k+1))+a_1 = (N_1y+b_1)/(2k+1)
=> N_1(y-k)+a_1(2k+1) = N_1y+b_1
=> a_1(2k+1)-N_1k = b_1
Now we still need to check that indeed
traj(x/(2k+1),T_a) = traj(x,T_b)
with those values, but we already did most of the work.
Having an arbitrary tall tricot makes the demonstration a bit more cluttered but not really harder.