%I #16 Apr 07 2020 15:27:43
%S 1,1,1,1,0,1,1,1,1,1,1,0,2,0,1,1,1,2,5,3,1,1,0,3,0,17,0,1,1,1,3,15,47,
%T 73,15,1,1,0,4,0,138,0,388,0,1,1,1,4,34,306,2021,4720,2461,105,1,1,0,
%U 5,0,670,0,43581,0,18155,0,1,1,1,5,65,1270,25050,291001,1295493,1256395,152531,945,1
%N Array read by antidiagonals: T(n,k) is the number of k-regular multigraphs on n labeled nodes, loops allowed, n >= 0, k >= 0.
%H Andrew Howroyd, <a href="/A333467/b333467.txt">Table of n, a(n) for n = 0..405</a> (diagonals 0..27)
%e Array begins:
%e =============================================================
%e n\k | 0 1 2 3 4 5 6
%e ----+--------------------------------------------------------
%e 0 | 1 1 1 1 1 1 1 ...
%e 1 | 1 0 1 0 1 0 1 ...
%e 2 | 1 1 2 2 3 3 4 ...
%e 3 | 1 0 5 0 15 0 34 ...
%e 4 | 1 3 17 47 138 306 670 ...
%e 5 | 1 0 73 0 2021 0 25050 ...
%e 6 | 1 15 388 4720 43581 291001 1594340 ...
%e 7 | 1 0 2461 0 1295493 0 159207201 ...
%e 8 | 1 105 18155 1256395 50752145 1296334697 23544232991 ...
%e ...
%p b:= proc(l, i) option remember; (n-> `if`(n=0, 1,
%p `if`(l[n]=0, b(sort(subsop(n=[][], l)), n-1),
%p `if`(i<1, 0, b(l, i-1)+`if`(i=n, `if`(l[n]>1,
%p b(subsop(n=l[n]-2, l), i), 0), `if`(l[i]>0,
%p b(subsop(i=l[i]-1, n=l[n]-1, l), i), 0))))))(nops(l))
%p end:
%p A:= (n, k)-> b([k$n], n):
%p seq(seq(A(n, d-n), n=0..d), d=0..12); # _Alois P. Heinz_, Mar 23 2020
%t b[l_, i_] := b[l, i] = Function[n, If[n == 0, 1, If[l[[n]] == 0, b[Sort[ ReplacePart[l, n -> Nothing]], n-1], If[i < 1, 0, b[l, i-1] + If[i == n, If[l[[n]] > 1, b[ReplacePart[l, n -> l[[n]]-2], i], 0], If[l[[i]] > 0, b[ReplacePart[l, {i -> l[[i]]-1, n -> l[[n]]-1}], i], 0]]]]]][Length[l]];
%t A[n_, k_] := b[Table[k, {n}], n];
%t Table[A[n, d-n], {d, 0, 12}, {n, 0, d}] // Flatten (* _Jean-François Alcover_, Apr 07 2020, after _Alois P. Heinz_ *)
%o (PARI)
%o MultigraphsWLByDegreeSeq(n, limit, ok)={
%o local(M=Map(Mat([0, 1])));
%o my(acc(p, v)=my(z); mapput(M, p, if(mapisdefined(M, p, &z), z+v, v)));
%o my(recurse(r, h, p, q, v, e) = if(!p, if(ok(x^e+q, r), acc(x^e+q, v)), my(i=poldegree(p), t=pollead(p)); self()(r, limit, p-t*x^i, q+t*x^i, v, e); for(m=1, h-i, for(k=1, min(t, (limit-e)\m), self()(r, if(k==t, limit, i+m-1), p-k*x^i, q+k*x^(i+m), binomial(t, k)*v, e+k*m)))));
%o for(r=1, n, my(src=Mat(M)); M=Map(); for(i=1, matsize(src)[1], forstep(e=0, limit, 2, recurse(n-r, limit, src[i, 1], 0, src[i, 2], e)))); Mat(M);
%o }
%o T(n, k)={if(n%2&&k%2, 0, vecsum(MultigraphsWLByDegreeSeq(n, k, (p, r)->subst(deriv(p), x, 1)>=(n-2*r)*k)[, 2]))}
%o { for(n=0, 8, for(k=0, 6, print1(T(n, k), ", ")); print) }
%Y Rows n=0..3 are A000012, A059841, A008619, A006003.
%Y Columns k=0..4 are A000012, A123023, A002135, A005814, A005816.
%Y Cf. A059441 (graphs), A167625 (unlabeled nodes), A333351 (without loops).
%K nonn,tabl
%O 0,13
%A _Andrew Howroyd_, Mar 23 2020