cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A376935 Array read by antidiagonals: T(n,k) is the number of 2*n X 2*k binary matrices with all row sums k and column sums n.

Original entry on oeis.org

1, 1, 1, 1, 2, 1, 1, 6, 6, 1, 1, 20, 90, 20, 1, 1, 70, 1860, 1860, 70, 1, 1, 252, 44730, 297200, 44730, 252, 1, 1, 924, 1172556, 60871300, 60871300, 1172556, 924, 1, 1, 3432, 32496156, 14367744720, 116963796250, 14367744720, 32496156, 3432, 1, 1, 12870, 936369720, 3718394156400, 273957842462220, 273957842462220, 3718394156400, 936369720, 12870, 1
Offset: 0

Views

Author

Andrew Howroyd, Oct 11 2024

Keywords

Comments

T(n,k) is the number of 2*n X 2*k {-1,1} matrices with all rows and columns summing to zero.

Examples

			Array begins:
========================================================================
n\k | 0   1       2           3               4                   5 ...
----+------------------------------------------------------------------
  0 | 1   1       1           1               1                   1 ...
  1 | 1   2       6          20              70                 252 ...
  2 | 1   6      90        1860           44730             1172556 ...
  3 | 1  20    1860      297200        60871300         14367744720 ...
  4 | 1  70   44730    60871300    116963796250     273957842462220 ...
  5 | 1 252 1172556 14367744720 273957842462220 6736218287430460752 ...
  ...
		

Crossrefs

Main diagonal is A058527.
Cf. A008300, A195644, A333901, A334549, A377007 (up to permutations of rows and columns).

Programs

  • PARI
    T(n, k)={
      local(M=Map(Mat([2*k, 1])));
      my(acc(p, v)=my(z); mapput(M, p, if(mapisdefined(M, p, &z), z+v, v)));
      my(recurse(i, p, v, e) = if(i<0, if(!e, acc(p, v)), my(t=polcoef(p,i)); for(j=0, min(t, e), self()(i-1, p+j*(x-1)*x^i, binomial(t, j)*v, e-j))));
      for(r=1, 2*n, my(src=Mat(M)); M=Map(); for(i=1, matsize(src)[1], recurse(n-1, src[i, 1], src[i, 2], k))); vecsum(Mat(M)[,2]);
    }

Formula

T(n,k) = T(k,n).