OFFSET
0,8
COMMENTS
The array rows are recursively generated by applying the Akiyama-Tanigawa algorithm to the powers (see the Python implementation below). In this way the array becomes the image of A004248 under the AT-transformation when applied to the columns of A004248. This makes the array closely linked to A371761, which is generated in the same way, but applied to the rows of A004248. - Peter Luschny, Apr 27 2024
FORMULA
T(n, k) = (n - k)! * [x^(n - k)] (1 / (1 + k * (1 - exp(x)))).
T(2*n, n) = A094420(n).
EXAMPLE
Triangle starts:
[0] 1;
[1] 0, 1;
[2] 0, 1, 1;
[3] 0, 3, 2, 1;
[4] 0, 13, 10, 3, 1;
[5] 0, 75, 74, 21, 4, 1;
[6] 0, 541, 730, 219, 36, 5, 1;
[7] 0, 4683, 9002, 3045, 484, 55, 6, 1;
[8] 0, 47293, 133210, 52923, 8676, 905, 78, 7, 1;
[9] 0, 545835, 2299754, 1103781, 194404, 19855, 1518, 105, 8, 1;
.
Seen as an array A(n, k) = T(n + k, n):
[0] [1, 0, 0, 0, 0, 0, 0, ... A000007
[1] [1, 1, 3, 13, 75, 541, 4683, ... A000670
[2] [1, 2, 10, 74, 730, 9002, 133210, ... A004123
[3] [1, 3, 21, 219, 3045, 52923, 1103781, ... A032033
[4] [1, 4, 36, 484, 8676, 194404, 5227236, ... A094417
[5] [1, 5, 55, 905, 19855, 544505, 17919055, ... A094418
[6] [1, 6, 78, 1518, 39390, 1277646, 49729758, ... A094419
[7] [1, 7, 105, 2359, 70665, 2646007, 118893705, ... A238464
MAPLE
F := proc(n) option remember; if n = 0 then return 1 fi:
expand(add(binomial(n, k)*F(n - k)*x, k = 1..n)) end:
seq(seq(subs(x = k, F(n - k)), k = 0..n), n = 0..10);
MATHEMATICA
F[n_] := F[n] = If[n == 0, 1,
Expand[Sum[Binomial[n, k]*F[n - k]*x, {k, 1, n}]]];
Table[Table[F[n - k] /. x -> k, {k, 0, n}], {n, 0, 10}] // Flatten (* Jean-François Alcover, Jun 06 2024, after Peter Luschny *)
PROG
(SageMath) # Computes the triangle.
@cached_function
def F(n):
R.<x> = PolynomialRing(ZZ)
if n == 0: return R(1)
return R(sum(binomial(n, k)*F(n - k)*x for k in (1..n)))
def Fval(n): return [F(n - k).substitute(x = k) for k in (0..n)]
for n in range(10): print(Fval(n))
(SageMath) # Computes the square array using the Akiyama-Tanigawa algorithm.
def ATFubini(n, len):
A = [0] * len
R = [0] * len
for k in range(len):
R[k] = (n + 1)**k # Chancing this to R[k] = k**n generates A371761.
for j in range(k, 0, -1):
R[j - 1] = j * (R[j] - R[j - 1])
A[k] = R[0]
return A
for n in range(8): print([n], ATFubini(n, 7)) # Peter Luschny, Apr 27 2024
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Peter Luschny, May 21 2021
STATUS
approved