A317533
Regular triangle read rows: T(n,k) = number of non-isomorphic multiset partitions of size n and length k.
Original entry on oeis.org
1, 2, 2, 3, 4, 3, 5, 14, 9, 5, 7, 28, 33, 16, 7, 11, 69, 104, 74, 29, 11, 15, 134, 294, 263, 142, 47, 15, 22, 285, 801, 948, 599, 263, 77, 22, 30, 536, 2081, 3058, 2425, 1214, 453, 118, 30, 42, 1050, 5212, 9769, 9276, 5552, 2322, 761, 181, 42, 56, 1918, 12645, 29538, 34172, 23770, 11545, 4179, 1223, 267, 56
Offset: 1
Non-isomorphic representatives of the T(3,2) = 4 multiset partitions:
{{1},{1,1}}
{{1},{1,2}}
{{1},{2,2}}
{{1},{2,3}}
Triangle begins:
1
2 2
3 4 3
5 14 9 5
7 28 33 16 7
11 69 104 74 29 11
15 134 294 263 142 47 15
-
permcount[v_List] := Module[{m = 1, s = 0, k = 0, t}, For[i = 1, i <= Length[v], i++, t = v[[i]]; k = If[i > 1 && t == v[[i - 1]], k + 1, 1]; m *= t*k; s += t]; s!/m];
c[p_List, q_List, k_] := SeriesCoefficient[1/Product[(1 - x^LCM[p[[i]], q[[j]]])^GCD[p[[i]], q[[j]]], {j, 1, Length[q]}, {i, 1, Length[p]}], {x, 0, k}];
M[m_, n_, k_] := Module[{s = 0}, Do[Do[s += permcount[p]*permcount[q]*c[p, q, k], {q, IntegerPartitions[n]}], {p, IntegerPartitions[m]}]; s/(m!*n!)];
T[n_, k_] := M[k, n, n] - M[k - 1, n, n];
Table[T[n, k], {n, 1, 11}, {k, 1, n}] // Flatten (* Jean-François Alcover, Feb 08 2020, after Andrew Howroyd *)
-
\\ See A318795 for definition of M.
T(n,k)={M(k, n, n) - M(k-1, n, n)}
for(n=1, 10, for(k=1, n, print1(T(n,k),", "));print) \\ Andrew Howroyd, Dec 28 2019
-
\\ Faster version.
permcount(v) = {my(m=1, s=0, k=0, t); for(i=1, #v, t=v[i]; k=if(i>1&&t==v[i-1], k+1, 1); m*=t*k; s+=t); s!/m}
K(q, t, n)={1/prod(j=1, #q, (1-x^lcm(t, q[j]) + O(x*x^n))^gcd(t, q[j]))}
G(m,n)={my(s=0); forpart(q=m, s+=permcount(q)*exp(sum(t=1, n, (K(q, t, n)-1)/t) + O(x*x^n))); s/m!}
A(n,m=n)={my(p=sum(k=0, m, G(k,n)*y^k)*(1-y)); matrix(n, m, n, k, polcoef(polcoef(p, n, x), k, y))}
{ my(T=A(10)); for(n=1, #T, print(T[n,1..n])) } \\ Andrew Howroyd, Aug 30 2020
A368096
Triangle read by rows where T(n,k) is the number of non-isomorphic set-systems of length k and weight n.
Original entry on oeis.org
1, 0, 1, 0, 1, 1, 0, 1, 2, 1, 0, 1, 4, 3, 1, 0, 1, 5, 8, 3, 1, 0, 1, 8, 18, 13, 3, 1, 0, 1, 9, 32, 37, 15, 3, 1, 0, 1, 13, 55, 96, 59, 16, 3, 1, 0, 1, 14, 91, 209, 196, 74, 16, 3, 1, 0, 1, 19, 138, 449, 573, 313, 82, 16, 3, 1, 0, 1, 20, 206, 863, 1529, 1147, 403, 84, 16, 3, 1
Offset: 0
Triangle begins:
1
0 1
0 1 1
0 1 2 1
0 1 4 3 1
0 1 5 8 3 1
0 1 8 18 13 3 1
0 1 9 32 37 15 3 1
0 1 13 55 96 59 16 3 1
0 1 14 91 209 196 74 16 3 1
0 1 19 138 449 573 313 82 16 3 1
...
Non-isomorphic representatives of the set-systems counted in row n = 5:
. {12345} {1}{1234} {1}{2}{123} {1}{2}{3}{12} {1}{2}{3}{4}{5}
{1}{2345} {1}{2}{134} {1}{2}{3}{14}
{12}{123} {1}{2}{345} {1}{2}{3}{45}
{12}{134} {1}{12}{13}
{12}{345} {1}{12}{23}
{1}{12}{34}
{1}{23}{24}
{1}{23}{45}
For multiset partitions we have
A317533.
Counting connected components instead of edges gives
A321194.
For set multipartitions we have
A334550.
For strict multiset partitions we have
A368099.
A316980 counts non-isomorphic strict multiset partitions, connected
A319557.
Cf.
A101881,
A255903,
A302545,
A306005,
A317532,
A317794,
A317795,
A319560,
A321405,
A368094,
A368095.
-
sps[{}]:={{}};sps[set:{i_,_}]:=Join@@Function[s,Prepend[#,s]& /@ sps[Complement[set,s]]] /@ Cases[Subsets[set],{i,_}];
mpm[n_]:=Join@@Table[Union[Sort[Sort /@ (#/.x_Integer:>s[[x]])]& /@ sps[Range[n]]],{s,Flatten[MapIndexed[Table[#2,{#1}]&,#]]& /@ IntegerPartitions[n]}];
brute[m_]:=First[Sort[Table[Sort[Sort /@ (m/.Rule@@@Table[{i,p[[i]]},{i,Length[p]}])], {p,Permutations[Union@@m]}]]];
Table[Length[Union[brute /@ Select[mpm[n],UnsameQ@@#&&And@@UnsameQ@@@#&&Length[#]==k&]]], {n,0,5},{k,0,n}]
-
WeighT(v)={Vec(exp(x*Ser(dirmul(v, vector(#v, n, (-1)^(n-1)/n))))-1, -#v)}
permcount(v) = {my(m=1, s=0, k=0, t); for(i=1, #v, t=v[i]; k=if(i>1&&t==v[i-1], k+1, 1); m*=t*k; s+=t); s!/m}
K(q, t, k)={WeighT(Vec(sum(j=1, #q, my(g=gcd(t, q[j])); g*x^(q[j]/g)) + O(x*x^k), -k))}
G(n)={my(s=0); forpart(q=n, my(p=sum(t=1, n, y^t*subst(x*Ser(K(q, t, n\t))/t, x, x^t))); s+=permcount(q)*exp(p-subst(subst(p, x, x^2), y, y^2))); s/n!}
T(n)={[Vecrev(p) | p <- Vec(G(n))]}
{ my(A=T(10)); for(n=1, #A, print(A[n])) } \\ Andrew Howroyd, Jan 11 2024
A368099
Triangle read by rows where T(n,k) is the number of non-isomorphic k-element sets of finite nonempty multisets with cardinalities summing to n, or strict multiset partitions of weight n and length k.
Original entry on oeis.org
1, 0, 1, 0, 2, 1, 0, 3, 4, 1, 0, 5, 12, 5, 1, 0, 7, 28, 22, 5, 1, 0, 11, 66, 83, 31, 5, 1, 0, 15, 134, 252, 147, 34, 5, 1, 0, 22, 280, 726, 620, 203, 35, 5, 1, 0, 30, 536, 1946, 2283, 1069, 235, 35, 5, 1, 0, 42, 1043, 4982, 7890, 5019, 1469, 248, 35, 5, 1
Offset: 0
Triangle begins:
1
0 1
0 2 1
0 3 4 1
0 5 12 5 1
0 7 28 22 5 1
0 11 66 83 31 5 1
0 15 134 252 147 34 5 1
0 22 280 726 620 203 35 5 1
0 30 536 1946 2283 1069 235 35 5 1
0 42 1043 4982 7890 5019 1469 248 35 5 1
...
Row n = 4 counts the following representatives:
. {{1,1,1,1}} {{1},{1,1,1}} {{1},{2},{1,1}} {{1},{2},{3},{4}}
{{1,1,1,2}} {{1},{1,1,2}} {{1},{2},{1,2}}
{{1,1,2,2}} {{1},{1,2,2}} {{1},{2},{1,3}}
{{1,1,2,3}} {{1},{1,2,3}} {{1},{2},{3,3}}
{{1,2,3,4}} {{1},{2,2,2}} {{1},{2},{3,4}}
{{1},{2,2,3}}
{{1},{2,3,4}}
{{1,1},{1,2}}
{{1,1},{2,2}}
{{1,1},{2,3}}
{{1,2},{1,3}}
{{1,2},{3,4}}
Counting connected components instead of edges gives
A321194.
For set multipartitions we have
A334550.
Cf.
A255903,
A296122,
A302545,
A306005,
A317532,
A317775,
A317794,
A317795,
A319560,
A368094,
A368095.
-
sps[{}]:={{}};sps[set:{i_,_}]:=Join@@Function[s,Prepend[#,s]& /@ sps[Complement[set,s]]]/@Cases[Subsets[set],{i,_}];
mpm[n_]:=Join@@Table[Union[Sort[Sort /@ (#/.x_Integer:>s[[x]])]&/@sps[Range[n]]],{s,Flatten[MapIndexed[Table[#2,{#1}]&,#]]& /@ IntegerPartitions[n]}];
brute[m_]:=First[Sort[Table[Sort[Sort /@ (m/.Rule@@@Table[{i,p[[i]]},{i,Length[p]}])], {p,Permutations[Union@@m]}]]];
Table[Length[Union[brute /@ Select[mpm[n],UnsameQ@@#&&Length[#]==k&]]], {n,0,5},{k,0,n}]
-
EulerT(v)={Vec(exp(x*Ser(dirmul(v, vector(#v, n, 1/n))))-1, -#v)}
permcount(v) = {my(m=1, s=0, k=0, t); for(i=1, #v, t=v[i]; k=if(i>1&&t==v[i-1], k+1, 1); m*=t*k; s+=t); s!/m}
K(q, t, k)={EulerT(Vec(sum(j=1, #q, my(g=gcd(t, q[j])); g*x^(q[j]/g)) + O(x*x^k), -k))}
G(n)={my(s=0); forpart(q=n, my(p=sum(t=1, n, y^t*subst(x*Ser(K(q, t, n\t))/t, x, x^t))); s+=permcount(q)*exp(p-subst(subst(p, x, x^2), y, y^2))); s/n!}
T(n)={[Vecrev(p) | p <- Vec(G(n))]}
{ my(A=T(10)); for(n=1, #A, print(A[n])) } \\ Andrew Howroyd, Jan 11 2024
Showing 1-3 of 3 results.
Comments