|
|
A363760
|
|
Cycle lengths obtained by repeated application of Klaus Nagel's strip bijection, as described in A307110.
|
|
5
|
|
|
1, 8, 9, 10, 40, 72, 106, 218, 256, 408, 424, 872, 1178, 2336, 2522, 2952, 4712, 10088, 13290, 26648, 28906, 33784, 53160, 115624, 150842, 303784, 330138, 385624, 603368, 1320552, 1716170, 3462216, 3765322, 4397144, 6864680, 15061288, 19543834, 39454792, 42921274, 50118936, 78175336, 171685096
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
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
|
|
|
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
|
Cf. A367148 (analog of this sequence, but for the triangular lattice).
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|