login
T(n,k) = (z*(z-1)-(-1+(-1)^(z^2 mod 3))*n+(1+(-1)^(z^2 mod 3))*k)/2, where z=n+k-1; n, k > 0, read by antidiagonals.
3

%I #34 Jul 22 2018 09:25:42

%S 1,2,3,6,5,4,7,8,9,10,11,12,13,14,15,21,20,19,18,17,16,22,23,24,25,26,

%T 27,28,29,30,31,32,33,34,35,36,45,44,43,42,41,40,39,38,37,46,47,48,49,

%U 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,78

%N T(n,k) = (z*(z-1)-(-1+(-1)^(z^2 mod 3))*n+(1+(-1)^(z^2 mod 3))*k)/2, where z=n+k-1; n, k > 0, read by antidiagonals.

%C Self-inverse permutation of the natural numbers.

%C a(n) is a pairing function: a function that reversibly maps Z^{+} x Z^{+} onto Z^{+}, where Z^{+} is the set of integer positive numbers.

%C In general, let b(z) be a sequence of integers and denote number of antidiagonal table T(n,k) by z=n+k-1. Natural numbers placed in table T(n,k) by antidiagonals. The order of placement - by antidiagonal downwards, if b(z) is odd; by antidiagonal upwards, if b(z) is even. T(n,k) read by antidiagonals downwards. For A218890 -- the order of placement -- at the beginning m antidiagonals downwards, next m antidiagonals upwards and so on - b(z)=floor((z+m-1)/m). For this sequence b(z)=z^2 mod 3. (This comment should be edited for clarity, _Joerg Arndt_, Dec 11 2014)

%H Boris Putievskiy, <a href="/A213927/b213927.txt">Rows n = 1..140 of triangle, flattened</a>

%H Boris Putievskiy, <a href="http://arxiv.org/abs/1212.2732">Transformations [of] Integer Sequences And Pairing Functions</a> arXiv:1212.2732 [math.CO], 2012.

%H Eric W. Weisstein, <a href="http://mathworld.wolfram.com/PairingFunction.html">MathWorld: Pairing functions</a>

%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>

%F For the general case.

%F T(n,k) = (z*(z-1)-(-1+(-1)^b(z))*n+(1+(-1)^b(z))*k)/2, where z=n+k-1 (as a table).

%F a(n) = (z*(z-1)-(-1+(-1)^b(z))*i+(1+(-1)^b(z))*j)/2, where i=n-t*(t+1)/2, j=(t*t+3*t+4)/2-n, t=floor((-1+sqrt(8*n-7))/2), z=i+j-1 (as a linear sequence).

%F For this sequence b(z)=z^2 mod 3.

%F T(n,k) = (z*(z-1)-(-1+(-1)^(z^2 mod 3))*n+(1+(-1)^(z^2 mod 3))*k)/2, where z=n+k-1 (as a table).

%F a(n) = (z*(z-1)-(-1+(-1)^(z^2 mod 3))*i+(1+(-1)^(z^2 mod 3))*j)/2, where i=n-t*(t+1)/2, j=(t*t+3*t+4)/2-n, t=floor((-1+sqrt(8*n-7))/2), z=i+j-1 (as linear sequence).

%e The start of the sequence as table.

%e The direction of the placement denoted by ">" and "v".

%e .v.....v v...v v....v

%e .1.....2...6...7..11...21...22...29...45...

%e .3.....5...8..12..20...23...30...44...47...

%e >4.....9..13..19..24...31...43...48...58...

%e .10...14..18..25..32...42...49...59...75...

%e .15...17..26..33..41...50...60...74...83...

%e >16...27..34..40..51...61...73...84...97...

%e .28...35..39..52..62...72...85...98..114...

%e .36...38..53..63..71...86...99..113..128...

%e >37...54..64..70..87..100..112..129..145...

%e ...

%e The start of the sequence as triangle array read by rows:

%e 1;

%e 2, 3;

%e 6, 5, 4;

%e 7, 8, 9, 10;

%e 11, 12, 13, 14, 15;

%e 21, 20, 19, 18, 17, 16;

%e 22, 23, 24, 25, 26, 27, 28;

%e 29, 30, 31, 32, 33, 34, 35, 36;

%e 45, 44, 43, 42, 41, 40, 39, 38, 37;

%e ...

%e Row r consists of r consecutive numbers from r*r/2-r/2+1 to r*r/2+r.

%e If r is not divisible by 3, rows are increasing.

%e If r is divisible by 3, rows are decreasing.

%t T[n_, k_] := With[{z = n + k - 1}, (z*(z - 1) - (-1 + (-1)^Mod[z^2, 3])*n + (1 + (-1)^Mod[z^2, 3])*k)/2];

%t Table[T[n - k + 1, k], {n, 1, 12}, {k, n, 1, -1}] // Flatten (* _Jean-François Alcover_, Jul 22 2018 *)

%o (Python)

%o t=int((math.sqrt(8*n-7) - 1)/ 2)

%o i=n-t*(t+1)/2

%o j=(t*t+3*t+4)/2-n

%o z=i+j-1

%o result=(z*(z-1)-(-1+(-1)**(z**2%3))*i+(1+(-1)**(z**2%3))*j)/2

%Y Cf. A218890, A056011, A056023, A130196, A011655, A001651, A008585.

%K nonn,tabl,uned

%O 1,2

%A _Boris Putievskiy_, Mar 06 2013