login
A286151
Square array read by descending antidiagonals: If n > k, A(n,k) = T(n XOR k, k), and otherwise A(n,k) = T(n, n XOR k), where T(n,k) is sequence A001477 considered as a two-dimensional table, and XOR is bitwise-xor (A003987).
8
0, 1, 2, 3, 2, 5, 6, 11, 13, 9, 10, 7, 5, 8, 14, 15, 22, 8, 7, 26, 20, 21, 16, 38, 9, 42, 19, 27, 28, 37, 47, 58, 62, 52, 43, 35, 36, 29, 23, 48, 14, 51, 25, 34, 44, 45, 56, 30, 39, 19, 16, 41, 33, 64, 54, 55, 46, 80, 31, 25, 20, 23, 32, 88, 53, 65, 66, 79, 93, 108, 32, 41, 39, 31, 116, 102, 89, 77, 78, 67, 57, 94, 140, 33, 27, 30, 148, 101, 63, 76, 90
OFFSET
0,3
COMMENTS
The array is read by descending antidiagonals as A(0,0), A(0,1), A(1,0), A(0,2), A(1,1), A(2,0), ...
LINKS
Eric Weisstein's World of Mathematics, Pairing Function
FORMULA
If n > k, A(n,k) = T(A003987(n,k),k), otherwise A(n,k) = T(n,A003987(n,k)), where T(n,k) is sequence A001477 considered as a two-dimensional table, and XOR is bitwise-xor (A003987).
EXAMPLE
The top left 0 .. 12 x 0 .. 12 corner of the array:
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78
2, 2, 11, 7, 22, 16, 37, 29, 56, 46, 79, 67, 106
5, 13, 5, 8, 38, 47, 23, 30, 80, 93, 57, 68, 138
9, 8, 7, 9, 58, 48, 39, 31, 108, 94, 81, 69, 174
14, 26, 42, 62, 14, 19, 25, 32, 140, 157, 175, 194, 82
20, 19, 52, 51, 16, 20, 41, 33, 176, 158, 215, 195, 110
27, 43, 25, 41, 23, 39, 27, 34, 216, 237, 177, 196, 142
35, 34, 33, 32, 31, 30, 29, 35, 260, 238, 217, 197, 178
44, 64, 88, 116, 148, 184, 224, 268, 44, 53, 63, 74, 86
54, 53, 102, 101, 166, 165, 246, 245, 46, 54, 87, 75, 114
65, 89, 63, 87, 185, 225, 183, 223, 57, 81, 65, 76, 146
77, 76, 75, 74, 205, 204, 203, 202, 69, 68, 67, 77, 182
90, 118, 150, 186, 86, 114, 146, 182, 82, 110, 142, 178, 90
MATHEMATICA
T[a_, b_]:=((a + b)^2 + 3a + b)/2; A[n_, k_]:=If[n>k, T[BitXor[n, k], k], T[n, BitXor[n, k]]]; Table[A[k, n - k ], {n, 0, 20}, {k, 0, n}] // Flatten (* Indranil Ghosh, May 20 2017 *)
PROG
(Scheme)
(define (A286151 n) (A286151bi (A002262 n) (A025581 n)))
(define (A286151bi row col) (define (pairA001477bi a b) (/ (+ (expt (+ a b) 2) (* 3 a) b) 2)) (cond ((> row col) (pairA001477bi (A003987bi row col) col)) (else (pairA001477bi row (A003987bi col row))))) ;; Where A003987bi implements bitwise-xor (A003987).
(Python)
def T(a, b): return ((a + b)**2 + 3*a + b)//2
def A(n, k): return T(n^k, k) if n>k else T(n, n^k)
for n in range(21): print([A(k, n - k) for k in range(n + 1)]) # Indranil Ghosh, May 20 2017
CROSSREFS
Cf. A000217 (row 0), A000096 (column 0 and the main diagonal).
Cf. A286153 (same array without row 0 and column 0).
Sequence in context: A182880 A182898 A133684 * A192138 A175264 A025473
KEYWORD
nonn,tabl
AUTHOR
Antti Karttunen, May 03 2017
STATUS
approved