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
Comments