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.

A307110 Index of matching grid point in the bijection between two infinite quadratic grids with one grid rotated by Pi/4 around the common point (0,0), using an enumeration of the grid points by A305575 and A305576.

This page as a plain text file.
%I A307110 #51 Aug 13 2025 10:19:31
%S A307110 0,1,6,3,8,2,11,4,9,5,15,7,19,14,10,16,17,18,12,20,13,26,27,28,25,21,
%T A307110 22,23,24,38,31,40,33,42,35,44,29,30,51,32,53,34,55,36,49,57,58,59,60,
%U A307110 62,39,64,41,66,43,68,37,46,47,48,45,50,63,52,65,54,67
%N A307110 Index of matching grid point in the bijection between two infinite quadratic grids with one grid rotated by Pi/4 around the common point (0,0), using an enumeration of the grid points by A305575 and A305576.
%C A307110 In a discussion in the newsgroup de.sci.mathematik, _Klaus Nagel_ (see links) described a bijection P: G -> H between the grid points of two Cartesian grids G{Z X Z} and H{Z X Z} rotated against each other by Pi/4 around the only common point (0,0). This is a variation of the marriage problem asking for a matching in the infinite bipartite graph of the vertices of G U H with small distance d=|P(g)-g| for all points g in G.
%C A307110 Points within the grids are addressed by (i,j) in grid G and by (k,m) in grid H.
%C A307110 The plane is divided into horizontal strips of width cos(Pi/8) = sqrt(sqrt(2)+2)/2, with the x-axis as centerline of strip 0. Grid G is rotated by Pi/8, grid H by -Pi/8.
%C A307110 Assuming proper boundary conditions, there is exactly one grid point of G per grid line i=const and one grid point of grid H per grid line k=const inside each strip.
%C A307110 The intersections of the grid lines i=const from the rotated grid G and of lines k=const from the rotated grid H with the centerline of the strip are determined. The grid points inside the strip are paired such that the distance of the intersection points of lines i=const of grid G and of lines k=const of grid H with the strip centerline is minimized.
%C A307110 This bijection achieves a maximum of all mutual Euclidean distances of all pairs of cos(Pi/8)=0.9238795... (the strip width).
%C A307110 It is conjectured that the least possible maximum distance within pairs can be reduced to sqrt(5)*sin(Pi/8)=0.855706... (A386241), but not further, and that this can be achieved by "local repairs" of the result of the strip bijection, i.e. by reassigning the connections in groups of 4 pairs, one of which being the pair with d>0.8557... and 3 pairs in the vicinity of the violating pair, but potentially addressing points in neighbor strips. The conjecture is supported by extensive numerical results, but an announced proof by Klaus Nagel remained unpublished.
%C A307110 For the current sequence no repair is applied. The first repairs are required beyond i^2+j^2=40. The affected sequence terms for n>=124 are visible in the b-file of A307731.
%C A307110 The results of the matching are shown by enumerating the grid points of grid G according to the sequence pair A305575(n) for i and A305576(n) for j.
%C A307110 After finding the indices of the bijection partners (k,m) in grid H using Klaus Nagel's method, the position L where A305575(L)=k and A305576(L)=m is determined by table lookups, and the unique result is a(n)=L.
%C A307110 The sequence is a permutation of the natural numbers.
%H A307110 Hugo Pfoertner and Rainer Rosenthal, <a href="/A307110/b307110.txt">Table of n, a(n) for n = 0..10000</a>
%H A307110 H. Carstens, W. Deuber, W. Thumser, and E. Koppenrade, <a href="https://doi.org/10.1017/S0963548398003484">Geometrical Bijections in Discrete Lattices</a>. Combinatorics, Probability and Computing, 8(1-2), 109-129, 1999.
%H A307110 Klaus Nagel, <a href="https://groups.google.com/d/msg/de.sci.mathematik/xqHLNjmmgBY/PvQFrKTB4lYJ">Zwei Gitter</a>, thread in newsgroup de.sci.mathematik, description of bijection (in German), Jan 7 2007.
%H A307110 Klaus Nagel, <a href="https://groups.google.com/d/msg/de.sci.mathematik/xqHLNjmmgBY/65K0oVvoBAIJ">Zwei Gitter</a>, thread in newsgroup de.sci.mathematik, modification of strip location (in German), Jan 14 2007.
%H A307110 Hugo Pfoertner, <a href="/A307110/a307110.pdf">Illustration of strip bijection</a>, (2019).
%H A307110 Rainer Rosenthal, <a href="/A307110/a307110.png">Illustrating examples a(0) ... a(29)</a>, Nov 29 2023.
%e A307110 The following table shows the first few matched pairs of grid points:
%e A307110     Grid G     Grid H      Grid H rotated
%e A307110    n  i  j  a(n) k  m  (k,m) rotated by -Pi/4  distance of matched points
%e A307110    0  0  0    0  0  0    0.000000  0.000000   0.000000
%e A307110    1  1  0    1  1  0    0.707107 -0.707107   0.765367
%e A307110    2  0  1    6 -1  1    0.000000  1.414214   0.414214
%e A307110    3 -1  0    3 -1  0   -0.707107  0.707107   0.765367
%e A307110    4  0 -1    8  1 -1    0.000000 -1.414214   0.414214
%e A307110    5  1  1    2  0  1    0.707107  0.707107   0.414214
%e A307110    6 -1  1   11 -2  0   -1.414214  1.414214   0.585786
%e A307110    7 -1 -1    4  0 -1   -0.707107 -0.707107   0.414214
%e A307110    8  1 -1    9  2  0    1.414214 -1.414214   0.585786
%e A307110    9  2  0    5  1  1    1.414214  0.000000   0.585786
%e A307110   10  0  2   15 -1  2    0.707107  2.121320   0.717439
%e A307110   11 -2  0    7 -1 -1   -1.414214  0.000000   0.585786
%e A307110   12  0 -2   19  1 -2   -0.707107 -2.121320   0.717439
%e A307110   13  2  1   14  1  2    2.121320  0.707107   0.317025
%o A307110 (PARI) /* It is assumed that the files a305575 and a305576 contain the second column of the corresponding b-files */
%o A307110 a305575=readvec(a305575); a305576=readvec(a305576);
%o A307110 p(i,j)={my(C=cos(Pi/8),S=sin(Pi/8),T=S/C,gx=i*C-j*S,gy=i*S+j*C,k,xm,ym,v=[0,0]);
%o A307110 k=round(gy/C); ym=C*k; xm=gx+(gy-ym)*T;
%o A307110   v[1]=round((xm-ym*T)*C);  v[2]=round((ym+v[1]*S)/C);  v}
%o A307110 findpos(v)={for(k=1,#a305575,if(v[1]==a305575[k]&&v[2]==a305576[k],return(k-1)))}
%o A307110 for(n=1,67,print1(findpos(p(a305575[n],a305576[n])),", "))
%Y A307110 Cf. A144981, A305575, A305576, A307731, A362955, A362956, A363760, A367150, A386241.
%K A307110 nonn
%O A307110 0,3
%A A307110 _Hugo Pfoertner_, following a proposal by _Rainer Rosenthal_, Mar 28 2019