OFFSET
0,6
LINKS
Seiichi Manyama, Antidiagonals n = 0..139, flattened
FORMULA
E.g.f. of column k: exp(x^(k+1)/(1-x)).
A(0,k) = 1, A(1,k) = A(2,k) = ... = A(k,k) = 0 and A(n,k) = Sum_{i=k..n-1} (i+1)!*binomial(n-1,i)*A(n-1-i,k) for n > k.
A(n,k) = 2*(n-1) * A(n-1,k) - (n-1)*(n-2) * A(n-2,k) + (k+1)!*binomial(n-1,k) * A(n-1-k,k) - k*(k+1)!*binomial(n-1,k+1) * A(n-2-k,k) for n > k+1. - Seiichi Manyama, Mar 15 2023
EXAMPLE
Square array begins:
1, 1, 1, 1, ...
1, 0, 0, 0, ...
3, 2, 0, 0, ...
13, 6, 6, 0, ...
73, 36, 24, 24, ...
501, 240, 120, 120, ...
MAPLE
A:= proc(n, k) option remember; `if`(n=0, 1, add(
A(n-j, k)*binomial(n-1, j-1)*j!, j=1+k..n))
end:
seq(seq(A(n, d-n), n=0..d), d=0..12); # Alois P. Heinz, Sep 29 2017
MATHEMATICA
A[0, _] = 1; A[n_, k_] /; n <= k = 0; A[n_, k_] := A[n, k] = Sum[(i+1)! Binomial[n-1, i] A[n-1-i, k], {i, k, n-1}];
Table[A[n, d-n], {d, 0, 12}, {n, 0, d}] // Flatten (* Jean-François Alcover, Nov 07 2020 *)
PROG
(Ruby)
def f(n)
return 1 if n < 2
(1..n).inject(:*)
end
def ncr(n, r)
return 1 if r == 0
(n - r + 1..n).inject(:*) / (1..r).inject(:*)
end
def A(k, n)
ary = [1]
(1..n).each{|i| ary << (k..i - 1).inject(0){|s, j| s + f(j + 1) * ncr(i - 1, j) * ary[i - 1 - j]}}
ary
end
def A293053(n)
a = []
(0..n).each{|i| a << A(i, n - i)}
ary = []
(0..n).each{|i|
(0..i).each{|j|
ary << a[i - j][j]
}
}
ary
end
p A293053(20)
KEYWORD
nonn,tabl
AUTHOR
Seiichi Manyama, Sep 29 2017
STATUS
approved