OFFSET
1,2
COMMENTS
Description provided by Klaus Nagel: (Start)
The strip bijection s (A307110) maps a point P[i,j] from a Z X Z grid to Q[u,v] taken from a second grid obtained from the first one by a rotation by Pi/4 around the origin. The coordinates [i,j] and [u,v] refer to the respective grids. If [u,v] also are considered as coordinates of the first grid, the mapping [i,j] --> [u,v] establishes a permutation of the grid points of Z X Z.
Cycles of this permutation are evaluated; the sequence shows the occurring cycle lengths L.
Q[u,v] is located close to P[i,j]. Changing the reference to the other grid causes a rotation by Pi/4. Hence after eight permutation steps any point should return to the vicinity of its starting position. (End)
Therefore the provided visualizations also include graphs showing only every 8th point for cycles with L divisible by 8.
Examples of cycles with lengths > 10^9 are L = 2536863994 for the starting position [1761546, 1379978], L = 5574310746 for start [5207814, 6746677], and L = 6508768664 for start [7983336, 8380845].
LINKS
Hugo Pfoertner, Animated visualization of cycle with L=256, all visited points shown.
Hugo Pfoertner, Animated visualization of cycle with L=256, every 8th visited point shown.
Hugo Pfoertner, Visualization of all terms from L=40 to L=53160. Zoom in to see details.
Hugo Pfoertner, Illustration of a(24) = 115624.
Hugo Pfoertner, Illustration of a(25) = 150842.
Hugo Pfoertner, Illustration of a(26) = 303784.
Hugo Pfoertner, Illustration of a(27) = 330138.
Hugo Pfoertner, Illustration of a(28) = 385624.
Hugo Pfoertner, Illustration of a(29) = 603368.
Hugo Pfoertner, Illustrations of a cycle of length 6508768664, including zoom images of the self-similar path details, December 2023.
Hugo Pfoertner, Examples of starting points for all known cycle lengths, July 2023.
EXAMPLE
a(1) = 1: p(0, 0) -> [0, 0], p(1, 0) -> [1, 0]. Points mapped onto themselves.
a(2) = 8: [0, 1] -> [-1, 1] -> [-2, 0] -> [-1, -1] -> [0, -1] -> [1, -1] -> [2, 0] -> [1, 1] -> [0, 1].
a(3) = 9: [1, 6] -> [-3, 5] -> [-6, 2] -> [-6, -2] -> [-3, -5] -> [1, -6] -> [5, -4] -> [6, 0] -> [5, 4] -> [1, 6].
a(4) = 10: [0, 2] -> [-1, 2] -> [-2, 1] -> [-2, -1] -> [-1, -2] -> [0, -2] -> [1, -2] -> [2, -1] -> [2, 1] -> [1, 2] -> [0, 2].
List of start points and corresponding cycle lengths:
y 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
x \---------------------------------------------------------------
0 | 1 8 10 8 8 40 8 8 8 40 8 8 106 8 8 40 8
1 | 1 8 10 8 8 40 9 40 8 8 106 40 106 8 8 40 8
2 | 8 10 8 8 8 8 8 8 8 8 40 106 8 8 8 8 40
3 | 8 8 8 8 40 9 8 8 8 8 8 8 8 106 8 8 8
4 | 8 8 8 40 8 40 8 8 8 8 8 8 8 8 106 8 8
5 | 8 40 8 40 9 8 8 8 8 8 8 8 8 8 106 8 8
6 | 9 40 9 8 8 40 8 40 106 40 106 8 8 8 106 72 8
7 | 8 8 8 8 8 8 8 8 40 106 8 106 8 106 8 8 72
8 |40 8 8 8 8 8 40 106 8 106 8 8 8 8 8 8 8
9 | 8 8 8 8 8 8 106 40 106 8 8 8 8 8 8 8 8
10 | 8 40 106 8 8 8 8 8 8 8 8 40 8 40 8 8 72
11 |40 106 40 8 8 8 8 106 8 8 40 8 8 8 40 72 8
12 | 8 106 8 106 8 8 8 106 8 8 40 8 8 8 40 8 8
13 | 8 8 8 106 8 8 8 106 8 8 40 8 8 8 40 8 8
14 | 8 8 8 8 106 8 106 8 8 8 8 40 8 40 8 8 8
15 | 8 40 8 8 8 8 8 72 8 8 72 8 8 8 8 8 40
16 | 8 8 40 8 8 8 72 8 8 8 8 72 8 8 8 40 8
.
a(9) = 256: See links to animated visualizations.
PROG
(PARI) C=cos(Pi/8); S=sin(Pi/8); T=S/C; \\ Global constants
\\ The mapping function p
\\ PARI's default precision of 38 digits is sufficient up to abs({x, y})<10^17
p(i, j) = {my (gx=i*C-j*S, gy=i*S+j*C, k, xm, ym, v=[0, 0]); k=round(gy/C); ym=C*k; xm=gx+(gy-ym)*T; v[1]=round((xm-ym*T)*C); v[2]=round((ym+v[1]*S)/C); v};
\\ cycle length
cycle(v) = {my (n=1, w=p(v[1], v[2])); while (w!=v, n++; w=p(w[1], w[2])); n};
a363760 (rmax) = {my (L=List()); for (x=0, rmax, for(y=x, rmax, my(c=cycle([x, y])); if(setsearch(L, c)==0, listput(L, c); listsort(L, 1)))); L};
a363760(500) \\ takes a few minutes, terms up to a(19), check completeness of list with larger rmax
CROSSREFS
KEYWORD
nonn
AUTHOR
Hugo Pfoertner, Jun 26 2023
STATUS
approved