%I #58 Sep 29 2023 02:11:47
%S 1,1,0,1,1,0,1,3,0,0,1,6,3,0,0,1,10,15,0,0,0,1,15,45,15,0,0,0,1,21,
%T 105,105,0,0,0,0,1,28,210,420,105,0,0,0,0,1,36,378,1260,945,0,0,0,0,0,
%U 1,45,630,3150,4725,945,0,0,0,0,0,1,55,990,6930,17325,10395,0,0,0,0,0,0
%N Triangle of Bessel numbers read by rows. Row n gives T(n,n), T(n,n-1), T(n,n-2), ..., T(n,0) for n >= 0.
%C T(n,k) is the number of partitions of an n-set into k nonempty subsets, each of size at most 2.
%C The Grosswald and Choi-Smith references give many further properties and formulas.
%C Considered as an infinite lower triangular matrix T, lim_{n->infinity} T^n = A118930: (1, 1, 2, 4, 13, 41, 166, 652, ...) as a vector. - _Gary W. Adamson_, Dec 08 2008
%D E. Grosswald, Bessel Polynomials, Lecture Notes Math., Vol. 698, 1978.
%H Reinhard Zumkeller, <a href="/A144299/b144299.txt">Rows n = 0..125 of triangle, flattened</a>
%H David Applegate and N. J. A. Sloane, <a href="http://arxiv.org/abs/0907.0513">The Gift Exchange Problem</a>, arXiv:0907.0513 [math.CO], 2009.
%H J. Y. Choi and J. D. H. Smith, <a href="http://dx.doi.org/10.1016/S0012-365X(02)00549-6">On the unimodality and combinatorics of Bessel numbers</a>, Discrete Math., 264 (2003), 45-53.
%H Tom Copeland, <a href="http://tcjpn.wordpress.com/2012/11/29/infinigens-the-pascal-pyramid-and-the-witt-and-virasoro-algebras/">Infinitesimal Generators, the Pascal Pyramid, and the Witt and Virasoro Algebras</a>
%H Toufik Mansour, Matthias Schork, and Mark Shattuck, <a href="https://cs.uwaterloo.ca/journals/JIS/VOL15/Schork/schork2.html">The Generalized Stirling and Bell Numbers Revisited</a>, Journal of Integer Sequences, Vol. 15 (2012), #12.8.3.
%H T. Mansour and M. Shattuck, <a href="http://dx.doi.org/10.2298/AADM121130023M">Partial matchings and pattern avoidance</a>, Appl. Anal. Discrete Math. 7 (2013) 25-50.
%F T(n, k) = T(n-1, k-1) + (n-1)*T(n-2, k-1).
%F E.g.f.: Sum_{k >= 0} Sum_{n = 0..2k} T(n,k) y^k x^n/n! = exp(y(x+x^2/2)). (The coefficient of y^k is the e.g.f. for the k-th row of the rotated triangle shown below.)
%F T(n, k) = n!/((n - 2*k)!*k!*2^k) for 0 <= k <= floor(n/2) and 0 otherwise. - _Stefano Spezia_, Jun 15 2023
%F From _G. C. Greubel_, Sep 29 2023: (Start)
%F T(n, 1) = A000217(n-1).
%F Sum_{k=0..n} T(n,k) = A000085(n).
%F Sum_{k=0..n} (-1)^k*T(n,k) = A001464(n). (End)
%e Triangle begins:
%e n:
%e 0: 1
%e 1: 1 0
%e 2: 1 1 0
%e 3: 1 3 0 0
%e 4: 1 6 3 0 0
%e 5: 1 10 15 0 0 0
%e 6: 1 15 45 15 0 0 0
%e 7: 1 21 105 105 0 0 0 0
%e 8: 1 28 210 420 105 0 0 0 0
%e 9: 1 36 378 1260 945 0 0 0 0 0
%e ...
%e The row sums give A000085.
%e For some purposes it is convenient to rotate the triangle by 45 degrees:
%e 1 0 0 0 0 0 0 0 0 0 0 0 ...
%e 1 1 0 0 0 0 0 0 0 0 0 ...
%e 1 3 3 0 0 0 0 0 0 0 ...
%e 1 6 15 15 0 0 0 0 0 ...
%e 1 10 45 105 105 0 0 0 ...
%e 1 15 105 420 945 945 0 ...
%e 1 21 210 1260 4725 10395 ...
%e 1 28 378 3150 17325 ...
%e 1 36 630 6930 ...
%e 1 45 990 ...
%e ...
%e The latter triangle is important enough that it has its own entry, A144331. Here the column sums give A000085 and the rows sums give A001515.
%e If the entries in the rotated triangle are denoted by b1(n,k), n >= 0, k <= 2n, then we have the recurrence b1(n, k) = b1(n - 1, k - 1) + (k - 1)*b1(n - 1, k - 2).
%e Then b1(n,k) is the number of partitions of [1, 2, ..., k] into exactly n blocks, each of size 1 or 2.
%p Maple code producing the rotated version:
%p b1 := proc(n, k)
%p option remember;
%p if n = k then 1;
%p elif k < n then 0;
%p elif n < 1 then 0;
%p else b1(n - 1, k - 1) + (k - 1)*b1(n - 1, k - 2);
%p end if;
%p end proc;
%p for n from 0 to 12 do lprint([seq(b1(n,k),k=0..2*n)]); od:
%t T[n_,0]=0; T[1,1]=1; T[2,1]=1; T[n_, k_]:= T[n-1,k-1] + (n-1)T[n-2,k-1];
%t Table[T[n,k], {n,12}, {k,n,1,-1}]//Flatten (* _Robert G. Wilson v_ *)
%t Table[If[k<=Floor[n/2],n!/((n-2 k)! k! 2^k),0], {n, 0, 12},{k,0,n}]//Flatten (* _Stefano Spezia_, Jun 15 2023 *)
%o (Haskell)
%o a144299 n k = a144299_tabl !! n !! k
%o a144299_row n = a144299_tabl !! n
%o a144299_tabl = [1] : [1, 0] : f 1 [1] [1, 0] where
%o f i us vs = ws : f (i + 1) vs ws where
%o ws = (zipWith (+) (0 : map (i *) us) vs) ++ [0]
%o -- _Reinhard Zumkeller_, Jan 01 2014
%o (Magma)
%o A144299:= func< n,k | k le Floor(n/2) select Factorial(n)/(Factorial(n-2*k)*Factorial(k)*2^k) else 0 >;
%o [A144299(n,k): k in [0..n], n in [0..12]]; // _G. C. Greubel_, Sep 29 2023
%o (SageMath)
%o def A144299(n,k): return factorial(n)/(factorial(n-2*k)*factorial(k)*2^k) if k <= (n//2) else 0
%o flatten([[A144299(n,k) for k in range(n+1)] for n in range(13)]) # _G. C. Greubel_, Sep 29 2023
%Y Other versions of this same triangle are given in A111924 (which omits the first row), A001498 (which left-adjusts the rows in the bottom view), A001497 and A100861. Row sums give A000085.
%Y Cf. A000085, A000217, A001464, A004526, A118930, A144385, A144643..
%K nonn,tabl,easy
%O 0,8
%A _David Applegate_ and _N. J. A. Sloane_, Dec 06 2008
%E Offset fixed by _Reinhard Zumkeller_, Jan 01 2014