login
Triangle read by rows: T(n,k) = number of partitions into distinct parts having rank k, 0<=k<n.
6

%I #22 Apr 13 2022 13:01:25

%S 1,0,1,1,0,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,1,1,0,1,0,1,1,1,1,1,

%T 0,1,0,1,1,2,1,1,1,0,1,1,0,2,1,2,1,1,1,0,1,0,1,1,2,2,2,1,1,1,0,1,0,1,

%U 2,2,2,2,2,1,1,1,0,1,0,1,1,3,2,3,2,2,1,1,1,0,1,0,1,2,2,4,2,3,2,2,1,1,1,0,1

%N Triangle read by rows: T(n,k) = number of partitions into distinct parts having rank k, 0<=k<n.

%C T(n,0) = A010054(n), T(n,1) = 1-A010054(n) for n>1;

%C A000009(n) = Sum(T(n,k): 0<=k<n);

%C A117192(n) = Sum(T(n,k)*(1 - k mod 2): 0<=k<n);

%C A117193(n) = Sum(T(n,k)*(k mod 2): 0<=k<n);

%C A117194(n) = Sum(T(n,k)*(1 - k mod 2): 0<k<n);

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

%H Maria Monks, <a href="https://doi.org/10.1090/S0002-9939-09-10076-X">Number theoretic properties of generating functions related to Dyson's rank for partitions into distinct parts</a>, Proceedings of The American Mathematical Society, vol.138, no.02, pp.481-494, 2009.

%F G.f.: sum(n>=1, q^(n*(n+1)/2) / prod(k=1..n, 1-z*q^k) ), see Monks reference. [_Joerg Arndt_, Oct 07 2012]

%e Triangle starts:

%e [ 1] 1,

%e [ 2] 0, 1,

%e [ 3] 1, 0, 1,

%e [ 4] 0, 1, 0, 1,

%e [ 5] 0, 1, 1, 0, 1,

%e [ 6] 1, 0, 1, 1, 0, 1,

%e [ 7] 0, 1, 1, 1, 1, 0, 1,

%e [ 8] 0, 1, 1, 1, 1, 1, 0, 1,

%e [ 9] 0, 1, 1, 2, 1, 1, 1, 0, 1,

%e [10] 1, 0, 2, 1, 2, 1, 1, 1, 0, 1,

%e [11] 0, 1, 1, 2, 2, 2, 1, 1, 1, 0, 1,

%e [12] 0, 1, 2, 2, 2, 2, 2, 1, 1, 1, 0, 1,

%e [13] 0, 1, 1, 3, 2, 3, 2, 2, 1, 1, 1, 0, 1,

%e [14] 0, 1, 2, 2, 4, 2, 3, 2, 2, 1, 1, 1, 0, 1, ...

%e T(12,0) = #{} = 0,

%e T(12,1) = #{5+4+2+1} = 1,

%e T(12,2) = #{6+3+2+1, 5+4+3} = 2,

%e T(12,3) = #{6+5+1, 6+4+2} = 2,

%e T(12,4) = #{7+4+1, 7+3+2} = 2,

%e T(12,5) = #{8+3+1, 7+5} = 2,

%e T(12,6) = #{9+2+1, 8+4} = 2,

%e T(12,7) = #{9+3} = 1,

%e T(12,8) = #{10+2} = 1,

%e T(12,9) = #{11+1} = 1,

%e T(12,10) = #{} = 0,

%e T(12,11) = #{12} = 1.

%p b:= proc(n, i, k) option remember;

%p if n<0 or k<0 then []

%p elif n=0 then [0$k, 1]

%p elif i<1 then []

%p else zip ((x, y)-> x+y, b(n, i-1, k), b(n-i, i-1, k-1), 0)

%p fi

%p end:

%p T:= proc(n) local j, r; r:= [];

%p for j from 0 to n do

%p r:= zip ((x, y)-> x+y, r, b(n-j, j-1, j-1), 0)

%p od; r[]

%p end:

%p seq (T(n), n=1..20); # _Alois P. Heinz_, Aug 29 2011

%t b[n_, i_, k_] := b[n, i, k] = Which[n<0 || k<0, {}, n == 0, Append[Array[0&, k], 1], i<1, {}, True, Plus @@ PadRight[{b[n, i-1, k], b[n-i, i-1, k-1]}]]; T[n_] := Module[{j, r}, r = {}; For[j = 0, j <= n, j++, r = Plus @@ PadRight[{r, b[n-j, j-1, j-1]}]]; r]; Table[T[n], {n, 1, 20}] // Flatten (* _Jean-François Alcover_, Jan 30 2014, after _Alois P. Heinz_ *)

%o (PARI)

%o N=33; L=1+2*ceil(sqrtint(N));

%o q='q+O(q^N);

%o gf=sum(n=1,L, q^(n*(n+1)/2) / prod(k=1,n,1-z*q^k) );

%o v=Vec(gf);

%o { for (n=1,#v, /* print triangle: */

%o p = Pol(v[n], 'z) + 'c0;

%o p = polrecip(p);

%o rw = Vec(p); rw[1] -= 'c0;

%o print1("[", n, "] " );

%o print( rw );

%o ); }

%o /* _Joerg Arndt_, Oct 07 2012 */

%Y Cf. A063995, A105806.

%K nonn,tabl

%O 1,40

%A _Reinhard Zumkeller_, Mar 03 2006