login
Triangle read by rows: T(n, k) = qStirling2(n, k, q) for q = 3, with 0 <= k <= n.
8

%I #23 Mar 11 2020 08:25:53

%S 1,1,1,1,5,1,1,21,18,1,1,85,255,58,1,1,341,3400,2575,179,1,1,1365,

%T 44541,106400,24234,543,1,1,5461,580398,4300541,3038714,221886,1636,1,

%U 1,21845,7550635,172602038,371984935,83805218,2010034,4916,1

%N Triangle read by rows: T(n, k) = qStirling2(n, k, q) for q = 3, with 0 <= k <= n.

%F qStirling2(n, k, q) = qStirling2(n-1, k-1, q) + qBrackets(k+1, q)*qStirling2(n-1, k, q) with boundary values 0^k if n = 0 and n^0 if k = 0.

%F Note that also a second definition is used in the literature which has an additional factor q^k attached to the first term in the equation above. The two versions differ by a factor of q^binomial(k,2).

%e [0] 1

%e [1] 1, 1

%e [2] 1, 5, 1

%e [3] 1, 21, 18, 1

%e [4] 1, 85, 255, 58, 1

%e [5] 1, 341, 3400, 2575, 179, 1

%e [6] 1, 1365, 44541, 106400, 24234, 543, 1

%e [7] 1, 5461, 580398, 4300541, 3038714, 221886, 1636, 1

%e [8] 1, 21845, 7550635, 172602038, 371984935, 83805218, 2010034, 4916, 1

%p qStirling2 := proc(n, k, q) option remember; with(QDifferenceEquations):

%p if n = 0 then return 0^k fi; if k = 0 then return n^0 fi;

%p qStirling2(n-1, k-1, p) + QBrackets(k+1, p)*qStirling2(n-1, k, p);

%p subs(p = q, expand(%)) end:

%p seq(seq(qStirling2(n, k, 3), k=0..n), n=0..9);

%t qStirling2[n_, k_, q_] /; 1 <= k <= n := (* q^(k-1) *) qStirling2[n - 1, k - 1, q] + Sum[q^j, {j, 0, k - 1}] qStirling2[n - 1, k, q];

%t qStirling2[n_, 0, _] := KroneckerDelta[n, 0];

%t qStirling2[0, k_, _] := KroneckerDelta[0, k];

%t qStirling2[_, _, _] = 0;

%t Table[qStirling2[n + 1, k + 1, 3], {n, 0, 9}, {k, 0, n}] // Flatten (* _Jean-François Alcover_, Mar 11 2020 *)

%Y T(n, 1) = A002450(n), T(n, n-1) = A000340(n).

%Y Cf. A139382 (q=2), A333142.

%K nonn,tabl

%O 0,5

%A _Peter Luschny_, Mar 09 2020