login
A283939
Interspersion of the signature sequence of sqrt(2).
2
1, 3, 2, 6, 5, 4, 11, 9, 8, 7, 17, 15, 13, 12, 10, 25, 22, 20, 18, 16, 14, 34, 31, 28, 26, 23, 21, 19, 44, 41, 38, 35, 32, 29, 27, 24, 56, 52, 49, 46, 42, 39, 36, 33, 30, 69, 65, 61, 58, 54, 50, 47, 43, 40, 37, 84, 79, 75, 71, 67, 63, 59, 55, 51, 48, 45, 100
OFFSET
1,2
COMMENTS
Row n is the ordered sequence of numbers k such that A007336(k)=n. As a sequence, A283939 is a permutation of the positive integers. As an array, A283939 is the joint-rank array (defined at A182801) of the numbers {i+j*r}, for i>=1, j>=1, where r = sqrt(2). This is a transposable interspersion; i.e., every row intersperses all other rows, and every column intersperses all other columns.
LINKS
Clark Kimberling and John E. Brown, Partial Complements and Transposable Dispersions, J. Integer Seqs., Vol. 7, 2004.
EXAMPLE
Northwest corner:
1 3 6 11 17 25 34 44 56
2 5 9 15 22 31 41 52 65
4 8 13 20 28 38 49 61 75
7 12 18 26 35 46 58 71 86
10 16 23 32 42 54 67 81 97
14 21 29 39 50 63 77 91 109
MATHEMATICA
r = Sqrt[2]; z = 100;
s[0] = 1; s[n_] := s[n] = s[n - 1] + 1 + Floor[n*r];
u = Table[n + 1 + Sum[Floor[(n - k)/r], {k, 0, n}], {n, 0, z}] (* A022776, col 1 of A283939 *)
v = Table[s[n], {n, 0, z}] (* A022775, row 1 of A283939*)
w[i_, j_] := u[[i]] + v[[j]] + (i - 1)*(j - 1) - 1;
Grid[Table[w[i, j], {i, 1, 10}, {j, 1, 10}]] (* A283939, array *)
p = Flatten[Table[w[k, n - k + 1], {n, 1, 20}, {k, 1, n}]] (* A283939, sequence *)
PROG
(PARI)
r = sqrt(2);
z = 100;
s(n) = if(n<1, 1, s(n - 1) + 1 + floor(n*r));
p(n) = n + 1 + sum(k=0, n, floor((n - k)/r));
u = v = vector(z + 1);
for(n=1, 101, (v[n] = s(n - 1)));
for(n=1, 101, (u[n] = p(n - 1)));
w(i, j) = u[i] + v[j] + (i - 1) * (j - 1) - 1;
tabl(nn) = {for(n=1, nn, for(k=1, n, print1(w(k, n - k + 1), ", "); ); print(); ); };
tabl(10) \\ Indranil Ghosh, Mar 21 2017
(Python)
from sympy import sqrt
import math
def s(n): return 1 if n<1 else s(n - 1) + 1 +
int(math.floor(n*sqrt(2)))
def p(n): return n + 1 + sum([int(math.floor((n - k)/sqrt(2))) for k in range(0, n+1)])
v=[s(n) for n in range(0, 101)]
u=[p(n) for n in range(0, 101)]
def w(i, j): return u[i - 1] + v[j - 1] + (i - 1) * (j - 1) - 1
for n in range(1, 11):
....print [w(k, n - k + 1) for k in range(1, n + 1)] # Indranil Ghosh, Mar 21 2017
CROSSREFS
KEYWORD
nonn,tabl,easy
AUTHOR
Clark Kimberling, Mar 19 2017
STATUS
approved