cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A367148 Cycle lengths obtained by repeated application of the strip bijection for the triangular lattice described in A367147.

Original entry on oeis.org

1, 10, 12, 36, 37, 56, 60, 72, 84, 110, 120, 154, 156, 168, 192, 278, 370, 398, 444, 492, 516, 564, 600, 614, 660, 924, 961, 1114, 1128, 1164, 1500, 1574, 1668, 1786, 2052, 2076, 2100, 2220, 2336, 2388, 2604, 2952, 3300, 3456, 3612, 3684, 3924, 4548, 4692, 4882, 4968
Offset: 1

Views

Author

Hugo Pfoertner, Nov 11 2023

Keywords

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.

Examples

			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
		

Crossrefs

Programs

  • 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.