A105937 Infinite square array read by antidiagonals: T(m, 0) = 1, T(m, 1) = m; T(m, k) = (m - k + 1) T(m+1, k-1) - (k-1) (m+1) T(m+2, k-2).
1, 1, 0, 1, 1, -2, 1, 2, -2, 0, 1, 3, 0, -12, 36, 1, 4, 4, -24, 24, 0, 1, 5, 10, -30, -60, 420, -1800, 1, 6, 18, -24, -216, 720, -720, 0, 1, 7, 28, 0, -420, 420, 5040, -30240, 176400, 1, 8, 40, 48, -624, -960, 14400, -40320, 40320, 0, 1, 9, 54, 126, -756, -3780, 22680, 22680, -589680, 3764880, -28576800
Offset: 0
Examples
Array begins 1 1 1 1 1 1 1 1 1 1 ... (A000012) 0 1 2 3 4 5 6 7 8 9 ... (A001477) -2 -2 0 4 10 18 28 40 54 70 ... (A028552) 0 12 24 30 24 0 48 126 240 396 ... (A126935) 36 24 60 216 420 624 756 720 396 360 ... (A126958) ...
References
- V. van der Noort and N. J. A. Sloane, Paper in preparation, 2007.
Links
- G. C. Greubel, Antidiagonals n = 0..100, flattened
Crossrefs
Programs
-
Magma
function T(n,k) if k eq 0 then return 1; elif k eq 1 then return n; else return (n-k+1)*T(n+1, k-1) - (k-1)*(n+1)*T(n+2, k-2); end if; return T; end function; [T(n-k,k): k in [0..n], n in [0..12]]; // G. C. Greubel, Jan 28 2020
-
Maple
T:= proc(n, k) option remember; if k=0 then 1 elif k=1 then n else (n-k+1)*T(n+1, k-1) - (k-1)*(n+1)*T(n+2, k-2) fi; end: seq(seq(T(n-k, k), k=0..n), n=0..12); # G. C. Greubel, Jan 28 2020
-
Mathematica
T[n_, k_]:= T[n, k]= If[k==0, 1, If[k==1, n, (n-k+1)*T[n+1, k-1] - (k-1)*(n+1)* T[n+2, k-2]]]; Table[T[n-k,k], {n,0,12}, {k,0,n}]//Flatten (* G. C. Greubel, Jan 28 2020 *)
-
PARI
T(n,k) = if(k==0, 1, if(k==1, n, (n-k+1)*T(n+1, k-1) - (k-1)*(n+1)*T(n+2, k-2) )); \\ G. C. Greubel, Jan 28 2020
-
Sage
@CachedFunction def T(n, k): if (k==0): return 1 elif (k==1): return n else: return (n-k+1)*T(n+1, k-1) - (k-1)*(n+1)*T(n+2, k-2) [[T(n-k, k) for k in (0..n)] for n in (0..12)] # G. C. Greubel, Jan 28 2020
Formula
See A127080 for e.g.f.
Extensions
More terms added by G. C. Greubel, Jan 28 2020