OFFSET
1,2
COMMENTS
The repeated application of the bijection function Q described in A367147, which maps a pair of triangular coordinates [i,j] to an image point [m,n], returns to the starting point after a number of steps dependent on the starting point. One mapping step leads to a location that approximately corresponds to a rotation of Pi/6, so that often, but not always, the lengths of the orbits created are multiples of 12. The situation is very similar to that described in the comment to A363760 for the analogous process applied to the square grid. As the lengths of the cycles increase, remarkable self-similar structures emerge; see the visualization of a cycle with a length L > 6*10^8.
LINKS
Klaus Nagel, Illustration of cycle lengths; points that belong to cycles of the same length are shown with the same color. Randomly selected region in grid.
Hugo Pfoertner, Visualization of orbits with L <= 1500.
Hugo Pfoertner, Orbit of length 617818092.
EXAMPLE
a(1) = 1: Starting point [0, 0] trivially mapped to [0, 0]; Q([0, 0]) -> [0, 0], Q([1, 0]) -> [1, 0]. Points exactly mapped to rotated location.
a(2) = 10: [2,0] -> [3,-2] -> [2,-3] -> [1,-3] -> [-1,-2] -> [-2,0] -> [-3,2] -> [-2,3] -> [-1,3] -> [1,2] -> [2, 0];
a(3) = 12: [3,0] -> [4,-2] -> [4,-4] -> [2,-5] -> [-1,-4] -> [-3,-2] -> [-4,0] -> [-5,2] -> [-5, 4] -> [-3,5] -> [0,4] -> [2,2] -> [3,0].
.
List of triangular coordinates [i, j] of start points and corresponding cycle lengths:
.
j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
i \-------------------------------------------------------------------
0 | 1 1 10 10 12 12 56 12 110 12 12 12 12 278 12 12 12
1 | 1 10 10 12 12 12 56 12 12 110 12 12 37 278 12 12 278
2 | 10 10 12 12 56 56 12 110 12 110 37 278 278 12 278 12 278
3 | 12 12 12 12 12 56 12 110 12 110 37 12 278 278 278 12 60
4 | 12 12 12 56 12 110 12 110 12 37 278 12 278 12 60 12 12
5 | 12 56 56 56 12 110 12 12 110 37 278 12 278 12 12 60 12
6 | 12 56 12 110 12 12 12 37 278 278 278 278 12 60 12 60 12
7 | 12 110 12 12 110 12 12 12 278 12 12 278 12 60 12 12 60
8 | 12 12 110 12 110 37 278 37 12 12 12 278 12 12 60 12 398
9 |110 12 110 12 110 37 278 278 12 12 12 12 278 12 398 12 398
10 | 12 12 110 37 12 278 12 278 12 12 278 12 398 398 398 12 12
11 | 12 37 37 278 12 278 278 12 278 12 278 12 398 12 12 12 12
12 | 12 278 278 278 12 12 278 12 278 12 398 12 12 12 12 12 72
13 | 37 278 12 278 278 12 60 12 60 12 398 398 12 12 72 36 72
14 | 12 12 278 12 60 12 60 12 12 398 12 12 12 36 36 12 12
15 | 12 12 278 12 60 12 12 60 12 398 12 12 72 72 12 12 12
16 | 12 12 278 12 12 60 12 60 12 398 12 12 398 72 12 12 72
PROG
(PARI) \\ uses mapping function Q defined in PARI program of A367147
cycle(v) = {my (n=1, w=Q(v)); while (w!=v, n++; w=Q(w)); n};
L = List(); \\ global list to support repeated calls of function a367148
a367148(x10min=2, x10max=3, nrep=10000) = {for (n10=x10min, x10max, my (rmax=10^n10); for (n=1, nrep, my (x=random(rmax), y=random(rmax), c=cycle([x, y])); if(setsearch(L, c)==0, print1([c, x, y], ", "); listput(L, c); listsort(L, 1)))); L};
\\ De-activate print to avoid output of starting points
a367148(2, 3) \\ usually sufficient to get all terms <= 1500, repeat and increase nrep for confirmation; no shortcut for efficient systematic selection of starting points is known.
CROSSREFS
KEYWORD
nonn
AUTHOR
Hugo Pfoertner, Nov 11 2023
STATUS
approved