login
Triangular array read by rows. T(n,k) is the number of sets of exactly k distinct binary words with a total of n letters.
9

%I #57 Feb 22 2023 09:54:50

%S 2,4,1,8,8,16,22,4,32,64,20,64,156,84,6,128,384,264,40,256,888,784,

%T 189,4,512,2048,2152,704,50,1024,4592,5664,2384,272,1,2048,10240,

%U 14368,7328,1232,32,4096,22496,35568,21382,4704,248

%N Triangular array read by rows. T(n,k) is the number of sets of exactly k distinct binary words with a total of n letters.

%C Equivalently, T(n,k) is the number of integer partitions of n into distinct parts with two types of 1's, four types of 2's, ... , 2^i types of i's,...; where k is the number of summands (of any type).

%C Row sums = A102866.

%C Row lengths increase by 1 at n=A061168(offset).

%H Alois P. Heinz, <a href="/A208741/b208741.txt">Rows n = 0..300, flattened</a>

%H P. Flajolet and R. Sedgewick, <a href="http://algo.inria.fr/flajolet/Publications/books.html">Analytic Combinatorics</a>, 2009; see page 64

%F O.g.f.: Product_{i>=1} (1 + y*x^i)^(2^i).

%e T(3,2) = 8 because we have: {a,aa}, {a,ab}, {a,ba}, {a,bb}, {b,aa}, {b,ab}, {b,ba}, {b,bb}; 2 word languages with total length 3.

%e Triangle T(n,k) begins:

%e 2;

%e 4, 1;

%e 8, 8;

%e 16, 22, 4;

%e 32, 64, 20;

%e 64, 156, 84, 6;

%e ...

%p h:= proc(n, i) option remember; expand(`if`(n=0, 1, `if`(i<1, 0,

%p add(h(n-i*j, i-1)*binomial(2^i, j)*x^j, j=0..n/i))))

%p end:

%p T:= n-> (p-> seq(coeff(p, x, i), i=1..degree(p)))(h(n$2)):

%p seq(T(n), n=1..15); # _Alois P. Heinz_, Sep 24 2017

%t nn=12; p=Product[(1+y x^i)^(2^i), {i,1,nn}]; f[list_] := Select[list, #>0&]; Map[f, Drop[CoefficientList[Series[p[x,y], {x,0,nn}], {x,y}], 1]]//Flatten

%Y Cf. A102866, A209406, A360634.

%K nonn,tabf

%O 1,1

%A _Geoffrey Critzer_, Mar 08 2012