%I #23 Dec 08 2023 12:40:16
%S 0,1,2,3,4,6,6,7,9,12,10,11,13,16,20,15,16,18,21,25,30,21,22,24,27,31,
%T 36,42,28,29,31,34,38,43,49,56,36,37,39,42,46,51,57,64,72,45,46,48,51,
%U 55,60,66,73,81,90,55,56,58,61,65,70,76,83,91,100,110
%N Triangle of 2-parameter triangular numbers, read by rows. T(n, k) = (n*(n + 1) + k*(k + 1)) / 2.
%C If the rows of the triangle are extended for k > n, the array A144216 is created, which is symmetrical to the main diagonal and therefore contains no new information compared to this triangle.
%F Recurrence: T(n, n) = n + T(n, n-1) starting with T(0, 0) = 0.
%F For k <> n: T(n, k) = n + T(n-1, k).
%F T(n, k) = t(n) + t(k), where t(n) are the triangular numbers A000217.
%F G.f.: (x + x*(2 - 5*x + x^2)*y + x^4*y^2)/((1 - x)^3*(1 - x*y)^3). - _Stefano Spezia_, Dec 07 2023
%e Triangle T(n, k) starts:
%e 0 | 0;
%e 1 | 1, 2;
%e 2 | 3, 4, 6;
%e 3 | 6, 7, 9, 12;
%e 4 | 10, 11, 13, 16, 20;
%e 5 | 15, 16, 18, 21, 25, 30;
%e 6 | 21, 22, 24, 27, 31, 36, 42;
%e 7 | 28, 29, 31, 34, 38, 43, 49, 56;
%e 8 | 36, 37, 39, 42, 46, 51, 57, 64, 72;
%e 9 | 45, 46, 48, 51, 55, 60, 66, 73, 81, 90;
%e 10 | 55, 56, 58, 61, 65, 70, 76, 83, 91, 100, 110;
%e .
%e Start at row 0, column 0 with 0. Go down by adding the column index in step n. At row n, restart the counting and go n steps right by adding the row index in step n, then change direction and go down again by adding the column index. After 3*n steps on this path you are at T(2*n, n) which is 2*triangular(n) + (triangular(2*n) - triangular(n)) = (5*n^2 + 3*n)/2. These are the sliced heptagonal numbers A147875 (see the illustration of Leo Tavares).
%e .
%e The equation T(n, k) = (n*(n + 1) + k*(k + 1))/2 can be extended to all n, k in ZZ.
%e [n\k] ... -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 ...
%e -------------------------------------------------------------
%e [-5] ..., 25, 20, 16, 13, 11, 10, 10, 11, 13, 16, 20, 25, ...
%e [-4] ..., 21, 16, 12, 9, 7, 6, 6, 7, 9, 12, 16, 21, ...
%e [-3] ..., 18, 13, 9, 6, 4, 3, 3, 4, 6, 9, 13, 18, ...
%e [-2] ..., 16, 11, 7, 4, 2, 1, 1, 2, 4, 7, 11, 16, ...
%e [-1] ..., 15, 10, 6, 3, 1, 0, 0, 1, 3, 6, 10, 15, ...
%e [ 0] ..., 15, 10, 6, 3, 1, 0, 0, 1, 3, 6, 10, 15, ...
%e [ 1] ..., 16, 11, 7, 4, 2, 1, 1, 2, 4, 7, 11, 16, ...
%e [ 2] ..., 18, 13, 9, 6, 4, 3, 3, 4, 6, 9, 13, 18, ...
%e [ 3] ..., 21, 16, 12, 9, 7, 6, 6, 7, 9, 12, 16, 21, ...
%e [ 4] ..., 25, 20, 16, 13, 11, 10, 10, 11, 13, 16, 20, 25, ...
%p T := (n, k) -> (n*(n + 1) + k*(k + 1)) / 2:
%p for n from 0 to 10 do seq(T(n, k), k = 0..n) od;
%t Module[{n=1},NestList[Append[#+n,n*++n]&,{0},10]] (* or *)
%t Table[(n(n+1)+k(k+1))/2,{n,0,10},{k,0,n}] (* _Paolo Xausa_, Dec 07 2023 *)
%o (Python) # A purely additive construction:
%o from functools import cache
%o @cache
%o def a_row(n: int) -> list[int]:
%o if n == 0: return [0]
%o row = a_row(n - 1) + [0]
%o for k in range(n): row[k] += n
%o row[n] = row[n - 1] + n
%o return row
%Y Columns: A000217, A000124, A152950, A166136, A121263.
%Y Diagonals: A002378, A000290, A002061, A059100, A027689.
%Y Cf. A147875 (T(2*n, n)), A016061 (row sums), A367965 (alternating row sums), A143216 (the multiplicative equivalent), A144216 (extended array).
%K nonn,tabl
%O 0,3
%A _Peter Luschny_, Dec 07 2023