cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A367964 Triangle of 2-parameter triangular numbers, read by rows. T(n, k) = (n*(n + 1) + k*(k + 1)) / 2.

Original entry on oeis.org

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, 36, 42, 28, 29, 31, 34, 38, 43, 49, 56, 36, 37, 39, 42, 46, 51, 57, 64, 72, 45, 46, 48, 51, 55, 60, 66, 73, 81, 90, 55, 56, 58, 61, 65, 70, 76, 83, 91, 100, 110
Offset: 0

Views

Author

Peter Luschny, Dec 07 2023

Keywords

Comments

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.

Examples

			Triangle T(n, k) starts:
  0 |  0;
  1 |  1,  2;
  2 |  3,  4,  6;
  3 |  6,  7,  9, 12;
  4 | 10, 11, 13, 16, 20;
  5 | 15, 16, 18, 21, 25, 30;
  6 | 21, 22, 24, 27, 31, 36, 42;
  7 | 28, 29, 31, 34, 38, 43, 49, 56;
  8 | 36, 37, 39, 42, 46, 51, 57, 64, 72;
  9 | 45, 46, 48, 51, 55, 60, 66, 73, 81,  90;
 10 | 55, 56, 58, 61, 65, 70, 76, 83, 91, 100, 110;
.
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).
.
The equation T(n, k) = (n*(n + 1) + k*(k + 1))/2 can be extended to all n, k in ZZ.
  [n\k] ... -6  -5  -4  -3  -2  -1   0   1   2   3   4   5  ...
  -------------------------------------------------------------
  [-5] ..., 25, 20, 16, 13, 11, 10, 10, 11, 13, 16, 20, 25, ...
  [-4] ..., 21, 16, 12,  9,  7,  6,  6,  7,  9, 12, 16, 21, ...
  [-3] ..., 18, 13,  9,  6,  4,  3,  3,  4,  6,  9, 13, 18, ...
  [-2] ..., 16, 11,  7,  4,  2,  1,  1,  2,  4,  7, 11, 16, ...
  [-1] ..., 15, 10,  6,  3,  1,  0,  0,  1,  3,  6, 10, 15, ...
  [ 0] ..., 15, 10,  6,  3,  1,  0,  0,  1,  3,  6, 10, 15, ...
  [ 1] ..., 16, 11,  7,  4,  2,  1,  1,  2,  4,  7, 11, 16, ...
  [ 2] ..., 18, 13,  9,  6,  4,  3,  3,  4,  6,  9, 13, 18, ...
  [ 3] ..., 21, 16, 12,  9,  7,  6,  6,  7,  9, 12, 16, 21, ...
  [ 4] ..., 25, 20, 16, 13, 11, 10, 10, 11, 13, 16, 20, 25, ...
		

Crossrefs

Cf. A147875 (T(2*n, n)), A016061 (row sums), A367965 (alternating row sums), A143216 (the multiplicative equivalent), A144216 (extended array).

Programs

  • Maple
    T := (n, k) -> (n*(n + 1) + k*(k + 1)) / 2:
    for n from 0 to 10 do seq(T(n, k), k = 0..n) od;
  • Mathematica
    Module[{n=1},NestList[Append[#+n,n*++n]&,{0},10]] (* or *)
    Table[(n(n+1)+k(k+1))/2,{n,0,10},{k,0,n}] (* Paolo Xausa, Dec 07 2023 *)
  • Python
    # A purely additive construction:
    from functools import cache
    @cache
    def a_row(n: int) -> list[int]:
        if n == 0: return [0]
        row = a_row(n - 1) + [0]
        for k in range(n): row[k] += n
        row[n] = row[n - 1] + n
        return row

Formula

Recurrence: T(n, n) = n + T(n, n-1) starting with T(0, 0) = 0.
For k <> n: T(n, k) = n + T(n-1, k).
T(n, k) = t(n) + t(k), where t(n) are the triangular numbers A000217.
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