OFFSET
1,3
COMMENTS
FORMULA
Triangle read by rows, truncated columns of an array formed by taking sets of P(n) = Pascal's triangle, with the 1's column shifted up n = 1,2,3,... times. Then n-th row of the array = lim_{k->infinity} (P(n))^k, deleting the first 1.
EXAMPLE
First few rows of the array:
1, 2, 5, 15, 52, 203, 877, 4140, 21147, ...
1, 1, 2, 4, 9, 23, 65, 199, 654, ...
1, 1, 1, 2, 4, 8, 17, 40, 104, ...
1, 1, 1, 1, 2, 4, 8, 16, 33, ...
1, 1, 1, 1, 1, 2, 4, 8, 16, ...
...
Rightmost diagonal of 1's becomes leftmost column of the triangle:
1;
1, 2;
1, 2, 5;
1, 2, 4, 15;
1, 2, 4, 9, 52;
1, 2, 4, 8, 23, 203;
1, 2, 4, 8, 17, 65, 877;
1, 2, 4, 8, 16, 40, 199, 4140;
1, 2, 4, 8, 16, 33, 104, 654, 21147;
1, 2, 4, 8, 16, 32, 73, 291, 2296, 115975;
1, 2, 4, 8, 16, 32, 65, 177, 857, 8569, 678570;
...
Example: n-th row corresponds to P(n) = Pascal's triangle with 1's column shifted up 1 row, so that P(1) =
1;
1;
1, 1;
1, 2, 1;
1, 3, 3, 1;
...
then take lim_{k->infinity} (P(1))^k, getting A000110: (1, 1, 2, 5, 15, 52, ...), then delete the first 1.
PROG
(Sage)
# generates the diagonals of the triangle, starting with diag = 1 the Bell numbers.
def A171840_generator(len, diag) :
A = [1]*diag
for n in (0..len) :
for k in range(n, 0, -1) :
A[k - 1] += A[k]
A.append(A[0])
yield A[0]
for diag in (1..5) : print(list(A171840_generator(10, diag)))
# Peter Luschny, Feb 27 2012
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Gary W. Adamson, Dec 19 2009
STATUS
approved