A080575 Triangle of multinomial coefficients, read by rows (version 2).
1, 1, 1, 1, 3, 1, 1, 4, 3, 6, 1, 1, 5, 10, 10, 15, 10, 1, 1, 6, 15, 15, 10, 60, 20, 15, 45, 15, 1, 1, 7, 21, 21, 35, 105, 35, 70, 105, 210, 35, 105, 105, 21, 1, 1, 8, 28, 28, 56, 168, 56, 35, 280, 210, 420, 70, 280, 280, 840, 560, 56, 105, 420, 210, 28, 1, 1, 9, 36, 36, 84, 252, 84, 126, 504, 378, 756, 126, 315, 1260, 1260, 1890, 1260, 126, 280, 2520, 840, 1260, 3780, 1260, 84, 945, 1260, 378, 36, 1, 1, 10, 45, 45, 120, 360, 120, 210, 840, 630, 1260, 210
Offset: 1
Examples
For n=4 the 5 integer partitions in canonical ordering with corresponding set partitions and counts are: [4] -> #{1234} = 1 [3,1] -> #{123/4, 124/3, 134/2, 1/234} = 4 [2,2] -> #{12/34, 13/24, 14/23} = 3 [2,1,1] -> #{12/3/4, 13/2/4, 1/23/4, 14/2/3, 1/24/3, 1/2/34} = 6 [1,1,1,1] -> #{1/2/3/4} = 1 Thus row 4 is [1, 4, 3, 6, 1]. Triangle begins: 1; 1, 1; 1, 3, 1; 1, 4, 3, 6, 1; 1, 5, 10, 10, 15, 10, 1; 1, 6, 15, 15, 10, 60, 20, 15, 45, 15, 1; 1, 7, 21, 21, 35, 105, 35, 70, 105, 210, 35, 105, 105, 21, 1; ... Row 4 represents 1*k(4)+4*k(3)*k(1)+3*k(2)^2+6*k(2)*k(1)^2+1*k(1)^4 and T(4,4)=6 since there are six ways of partitioning four labeled items into one part with two items and two parts each with one item.
References
- See A036040 for the column labeled "M_3" in Abramowitz and Stegun, Handbook, p. 831.
Links
- Alois P. Heinz, Rows n = 1..26, flattened
- M. Abramowitz and I. A. Stegun, eds., Handbook of Mathematical Functions, National Bureau of Standards, Applied Math. Series 55, Tenth Printing, 1972 [alternative scanned copy].
- Berg, Kimmo Complexity of solution structures in nonlinear pricing, Ann. Oper. Res. 206, 23-37 (2013).
- R. J. Cano, Sequencer program.
- Mark W. Coffey, A Set of Identities for a Class of Alternating Binomial Sums Arising in Computing Applications, arXiv:math-ph/0608049, 2006.
- Wikipedia, Cumulant.
- Wikipedia, Bell polynomials
Crossrefs
Programs
-
Mathematica
runs[li:{__Integer}] := ((Length/@ Split[ # ]))&[Sort@ li]; Table[Apply[Multinomial, IntegerPartitions[w], {1}]/Apply[Times, (runs/@ IntegerPartitions[w])!, {1}], {w, 6}] (* Second program: *) completeBellMatrix[x_, n_] := Module[{M, i, j}, M[, ] = 0; For[i=1, i <= n-1 , i++, M[i, i+1] = -1]; For[i=1, i <= n , i++, For[j=1, j <= i, j++, M[i, j] = Binomial[i-1, j-1]*x[i-j+1]]]; Array[M, {n, n}]]; completeBellPoly[x_, n_] := Det[completeBellMatrix[x, n]]; row[n_] := List @@ completeBellPoly[x, n] /. x[] -> 1 // Reverse; Table[row[n], {n, 1, 10}] // Flatten (* _Jean-François Alcover, Aug 31 2016, after Tilman Neumann *) B[0] = 1; B[n_] := B[n] = Sum[Binomial[n-1, k] B[n-k-1] x[k+1], {k, 0, n-1}]//Expand; row[n_] := Reverse[List @@ B[n] /. x[_] -> 1]; Table[row[n], {n, 1, 10}] // Flatten (* Jean-François Alcover, Aug 10 2018, after Wolfdieter Lang *)
-
MuPAD
completeBellMatrix := proc(x,n) // x - vector x[1]...x[m], m>=n local i,j,M; begin M:=matrix(n,n): // zero-initialized for i from 1 to n-1 do M[i,i+1]:=-1: end_for: for i from 1 to n do for j from 1 to i do M[i,j] := binomial(i-1,j-1)*x[i-j+1]: end_for: end_for: return (M): end_proc: completeBellPoly := proc(x, n) begin return (linalg::det(completeBellMatrix(x,n))): end_proc: for i from 1 to 10 do print(i,completeBellPoly(x,i)): end_for: // Tilman Neumann, Oct 05 2008
-
PARI
\\ See links.
-
PARI
A080575_poly(n,V=vector(n,i,eval(Str('x,i))))={matdet(matrix(n,n,i,j,if(j<=i,binomial(i-1,j-1)*V[n-i+j],-(j==i+1))))} A080575_row(n)={(f(s)=if(type(s)!="t_INT",concat(apply(f,select(t->t,Vec(s)))),s))(A080575_poly(n))} \\ M. F. Hasler, Jul 12 2015
Comments