A123551 Triangle read by rows: T(n,k) gives number of unlabeled graphs without endpoints on n nodes and k edges, (n >= 0, 0 <= k <= n(n-1)/2).
1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 2, 4, 3, 2, 1, 1, 1, 0, 0, 1, 1, 2, 6, 8, 13, 16, 13, 8, 5, 2, 1, 1, 1, 0, 0, 1, 1, 2, 6, 10, 22, 48, 76, 97, 102, 84, 60, 39, 20, 10, 5, 2, 1, 1, 1, 0, 0, 1, 1, 2, 6, 10, 25, 64, 152, 331, 617, 930, 1173, 1253, 1140
Offset: 0
Examples
Triangle begins: [0] 1; [1] 1; [2] 1, 0; [3] 1, 0, 0, 1; [4] 1, 0, 0, 1, 1, 1, 1; [5] 1, 0, 0, 1, 1, 2, 4, 3, 2, 1, 1; [6] 1, 0, 0, 1, 1, 2, 6, 8, 13, 16, 13, 8, 5, 2, 1, 1; ...
References
- R. W. Robinson, Numerical implementation of graph counting algorithms, AGRC Grant, Math. Dept., Univ. Newcastle, Australia, 1977.
Links
- R. W. Robinson, Rows 0 through 16, flattened
Programs
-
PARI
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} edges(v, t) = {prod(i=2, #v, prod(j=1, i-1, my(g=gcd(v[i], v[j])); t(v[i]*v[j]/g)^g )) * prod(i=1, #v, my(c=v[i]); t(c)^((c-1)\2)*if(c%2, 1, t(c/2)))} row(n) = {my(s=0); sum(k=0, n, forpart(p=k, s+=permcount(p) * edges(p, w->1+y^w) * y^(n-k)*polcoef(prod(i=1, #p, 1-x^p[i]), n-k)/k!)); Vecrev(s, binomial(n,2)+1)} { for(n=0, 6, print(row(n))) } \\ Andrew Howroyd, Feb 07 2024