%I #10 Dec 07 2019 12:18:28
%S 1,4,2,10,6,3,19,13,8,5,30,23,16,11,7,44,35,27,20,14,9,61,50,40,32,24,
%T 17,12,81,68,56,46,37,28,21,15,103,89,75,63,52,42,33,25,18,128,112,97,
%U 83,70,58,48,38,29,22,156,138,121,106,91,77,65,54,43,34
%N Interspersion of the signature sequence of e (a rectangular array, by antidiagonals).
%C Row n is the ordered sequence of numbers k such that A023123(k) = n. As a sequence, A283943 is a permutation of the positive integers. This is a transposable interspersion; i.e., every row intersperses all other rows, and every column intersperses all other columns.
%H Clark Kimberling, <a href="/A283943/b283943.txt">Antidiagonals n = 1..60, flattened</a>
%H Clark Kimberling and John E. Brown, <a href="https://cs.uwaterloo.ca/journals/JIS/VOL7/Kimberling/kimber67.html">Partial Complements and Transposable Dispersions</a>, J. Integer Seqs., Vol. 7, 2004.
%e Northwest corner:
%e 1 4 10 19 30 44 61 81 103
%e 2 6 13 23 35 50 68 89 112
%e 3 8 16 27 40 56 75 97 121
%e 5 11 20 32 46 63 83 106 131
%e 7 14 23 37 52 70 91 115 141
%e 9 17 28 42 58 77 99 124 151
%t r = E; z = 100; s[0] = 1; s[n_] := s[n] = s[n - 1] + 1 + Floor[n*r];
%t u = Table[n + 1 + Sum[Floor[(n - k)/r], {k, 0, n}], {n, 0, z}] (* A022786,col 1 of A283943 *)
%t v = Table[s[n], {n, 0, z}] (* A022785, row 1 of A283943*)
%t w[i_, j_] := u[[i]] + v[[j]] + (i - 1)*(j - 1) - 1;
%t Grid[Table[w[i, j], {i, 1, 10}, {j, 1, 10}]] (*A 283943, array*)
%t Flatten[Table[w[k, n - k + 1], {n, 1, 20}, {k, 1, n}]] (* A283943, sequence*)
%o (PARI)
%o \\ Produces the triangle when the array is read by antidiagonals
%o r = exp(1);
%o z = 100;
%o s(n) = if(n<1, 1, s(n - 1) + 1 + floor(n*r));
%o p(n) = n + 1 + sum(k=0, n, floor((n - k)/r));
%o u = v = vector(z + 1);
%o for(n=1, 101, (v[n] = s(n - 1)));
%o for(n=1, 101, (u[n] = p(n - 1)));
%o w(i, j) = u[i] + v[j] + (i - 1) * (j - 1) - 1;
%o tabl(nn) = {for(n=1, nn, for(k=1, n, print1(w(k, n - k + 1), ", "); ); print(); ); };
%o tabl(10) \\ _Indranil Ghosh_, Mar 26 2017
%o (Python)
%o # Produces the triangle when the array is read by antidiagonals
%o import math
%o from mpmath import *
%o mp.dps = 100
%o def s(n): return 1 if n<1 else s(n - 1) + 1 + int(math.floor(n*e))
%o def p(n): return n + 1 + sum([int(math.floor((n - k)/e)) for k in range(0, n+1)])
%o v=[s(n) for n in range(0, 101)]
%o u=[p(n) for n in range(0, 101)]
%o def w(i, j): return u[i - 1] + v[j - 1] + (i - 1) * (j - 1) - 1
%o for n in range(1, 11):
%o ....print [w(k, n - k + 1) for k in range(1, n + 1)] # _Indranil Ghosh_, Mar 26 2017
%Y Cf. A001113, A023123, A022786, A022785.
%K nonn,tabl,easy
%O 1,2
%A _Clark Kimberling_, Mar 26 2017
|