login
Triangular array read by rows: T(n,k) = number of compositions of n having smallest part equal to k.
4

%I #17 Nov 19 2014 15:13:58

%S 1,1,1,3,0,1,6,1,0,1,13,2,0,0,1,27,3,1,0,0,1,56,5,2,0,0,0,1,115,9,2,1,

%T 0,0,0,1,235,15,3,2,0,0,0,0,1,478,25,5,2,1,0,0,0,0,1,969,42,8,2,2,0,0,

%U 0,0,0,1,1959,70,12,3,2,1,0,0,0,0,0,1,3952,116,18,5,2,2,0,0,0,0,0,0,1

%N Triangular array read by rows: T(n,k) = number of compositions of n having smallest part equal to k.

%H Alois P. Heinz, <a href="/A105147/b105147.txt">Rows n = 1..141, flattened</a>

%F G.f. for k-th column: (1-x)^2*x^k/((1-x-x^k)*(1-x-x^(k+1))).

%e 1;

%e 1, 1;

%e 3, 0, 1;

%e 6, 1, 0, 1;

%e 13, 2, 0, 0, 1;

%e 27, 3, 1, 0, 0, 1;

%e 56, 5, 2, 0, 0, 0, 1;

%p p:= (t, l)-> zip((x, y)->x+y, t, l, 0):

%p b:= proc(n) option remember; local j, t, h, m, s;

%p t:= [0$(n-1), 1];

%p for j to n-1 do

%p h:= b(n-j);

%p m:= nops(h);

%p t:= p(p(t, [seq(h[i], i=1..min(j, m))]),

%p [0$(j-1), add(h[i], i=j+1..m)])

%p od; t

%p end:

%p T:= n-> b(n)[]:

%p seq(T(n), n=1..15); # _Alois P. Heinz_, Nov 13 2011

%t zip[f_, x_, y_, z_] := With[{m = Max[Length[x], Length[y]]}, Thread[f[PadRight[x, m, z], PadRight[y, m, z]]]]; p[t_, l_] := zip[Plus, t, l, 0]; b[n_] := b[n] = Module[{j, t, h, m, s}, t = Append[Array[0&, n-1], 1]; For[j = 1, j <= n-1 , j++, h = b[n-j]; m = Length[h]; t = p[p[t, h[[1 ;; Min[j, m]]]], Append[Array[0&, j-1], h[[Min[j, m]+1 ;; m]] // Total]]]; t]; Table[b[n], {n, 1, 15}] // Flatten (* _Jean-François Alcover_, Jan 29 2014, after _Alois P. Heinz_ *)

%Y Cf. A048004.

%Y Row sums give: A000079(n-1), columns k=1, 2 give: A099036(n-1), A200047. - _Alois P. Heinz_, Nov 13 2011

%K easy,nonn,tabl

%O 1,4

%A _Vladeta Jovovic_, Apr 10 2005