OFFSET
1,2
COMMENTS
Suppose that f and g are strictly increasing functions for which (f(i)) and (g(j)) are integer sequences. If 0<|d|<1, the sets F={f(i): i>=1} and G={g(j)+d: j>=1} are clearly disjoint. Let f^=(inverse of f) and g^=(inverse of g). When the numbers in F and G are jointly ranked, the rank of f(n) is a(n):=n+floor(g^(f(n))-d), and the rank of g(n)+d is b(n):=n+floor(f^(g(n))+d). Therefore, the sequences a and b are a complementary pair.
Although the sequences (f(i)) and (g(j)) may not be disjoint, the sequences (f(i)) and (g(j)+d) are disjoint, and this observation enables two types of adjusted joint rankings:
(1) if 0<d<1, we call a and b the "adjusted joint rank sequences of (f(i)) and (g(j)) with f(i) before g(j) when f(i)=g(j)"; (2) if -1<d<0, we call a and b the "adjusted joint rank sequences of (f(i)) and (g(j)) with f(i) after g(j) when f(i)=g(j)".
Using f(i)=ui^2+vi+w and g(j)=xj^2+yj+z, we can carry out adjusted joint rankings of any pair of polygonal sequences (triangular, square, pentagonal, etc.) In this case,
a(n)=n+floor((-y+sqrt(4x(un^2+vn+w-z-d)+y^2))/(2x)),
b(n)=n+floor((-v+sqrt(4u(xn^2+yn+z-w+d)+v^2)/(2u)),
where a(n) is the rank of un^2+vn+w and b(n) is the rank
of xn^2+yn+z+d, where d must be chosen small enough, in
absolute value, that the sets F and G are disjoint.
LINKS
G. C. Greubel, Table of n, a(n) for n = 1..10000
FORMULA
EXAMPLE
First, write
1..3...6..10..15...21..28..36..45... (triangular)
1....4.. 9......16...25....36....49.. (square)
Replace each number by its rank, where ties are settled by ranking the triangular number before the square:
a=(1,3,5,7,8,10,12,13,...)
b=(2,4,6,9,11,14,16,18,...).
MATHEMATICA
(* adjusted joint ranking of triangular numbers and squares, using general formula *)
d=1/4; u=1/2; v=1/2; w=0; x=1; y=0; z=0;
h[n_]:=-y+(4x(u*n^2+v*n+w-z-d)+y^2)^(1/2);
a[n_]:=n+Floor[h[n]/(2x)]; (* rank of triangular n(n+1)/2 *)
k[n_]:=-v+(4u(x*n^2+y*n+z-w+d)+v^2)^(1/2);
b[n_]:=n+Floor[k[n]/(2u)]; (* rank of square n^2 *)
Table[a[n], {n, 1, 100}] (* A186219 *)
Table[b[n], {n, 1, 100}] (* A186220 *)
PROG
(PARI) vector(100, n, n + floor(sqrt((n^2 + n)/2 - 1/4))) \\ G. C. Greubel, Aug 26 2018
(Magma) [n + Floor(Sqrt((n^2 + n)/2 - 1/4)): n in [1..100]]; // G. C. Greubel, Aug 26 2018
CROSSREFS
KEYWORD
nonn
AUTHOR
Clark Kimberling, Feb 15 2011
STATUS
approved