login
Number A(n,k) of inequivalent n X k binary matrices, where equivalence means permutations of rows or columns or the symbol set; square array A(n,k), n>=0, k>=0, read by antidiagonals.
13

%I #31 May 02 2022 09:45:12

%S 1,1,1,1,1,1,1,2,2,1,1,2,5,2,1,1,3,8,8,3,1,1,3,14,18,14,3,1,1,4,20,47,

%T 47,20,4,1,1,4,30,95,173,95,30,4,1,1,5,40,200,545,545,200,40,5,1,1,5,

%U 55,367,1682,2812,1682,367,55,5,1,1,6,70,674,4745,14386,14386,4745,674,70,6,1

%N Number A(n,k) of inequivalent n X k binary matrices, where equivalence means permutations of rows or columns or the symbol set; square array A(n,k), n>=0, k>=0, read by antidiagonals.

%H Alois P. Heinz, <a href="/A242093/b242093.txt">Antidiagonals n = 0..35, flattened</a>

%H <a href="/index/Mat#inequiv">Index to number of inequivalent matrices modulo permutation of rows and columns</a>

%e A(1,4) = 3: [0 0 0 0], [1 0 0 0], [1 1 0 0].

%e A(1,5) = 3: [0 0 0 0 0], [1 0 0 0 0], [1 1 0 0 0].

%e A(2,2) = 5:

%e [0 0] [1 0] [1 1] [1 0] [1 0]

%e [0 0], [0 0], [0 0], [1 0], [0 1].

%e A(3,2) = 8:

%e [0 0] [1 0] [1 1] [1 0] [1 0] [1 0] [1 0] [1 1]

%e [0 0], [0 0], [0 0], [1 0], [0 1], [1 0], [0 1], [1 0].

%e [0 0] [0 0] [0 0] [0 0] [0 0] [1 0] [1 0] [0 0]

%e Square array A(n,k) begins:

%e 1, 1, 1, 1, 1, 1, 1, 1, ...

%e 1, 1, 2, 2, 3, 3, 4, 4, ...

%e 1, 2, 5, 8, 14, 20, 30, 40, ...

%e 1, 2, 8, 18, 47, 95, 200, 367, ...

%e 1, 3, 14, 47, 173, 545, 1682, 4745, ...

%e 1, 3, 20, 95, 545, 2812, 14386, 68379, ...

%e 1, 4, 30, 200, 1682, 14386, 126446, 1072086, ...

%e 1, 4, 40, 367, 4745, 68379, 1072086, 16821330, ...

%p with(numtheory):

%p b:= proc(n, i) option remember; `if`(n=0, {0}, `if`(i<1, {},

%p {seq(map(p-> p+j*x^i, b(n-i*j, i-1) )[], j=0..n/i)}))

%p end:

%p g:= proc(n, k) option remember; add(add(add(mul(mul(add(d*

%p coeff(u, x, d), d=divisors(ilcm(i, j)))^(igcd(i, j)*

%p coeff(s, x, i)*coeff(t, x, j)), j=1..degree(t)),

%p i=1..degree(s))/mul(i^coeff(u, x, i)*coeff(u, x, i)!,

%p i=1..degree(u))/mul(i^coeff(t, x, i)*coeff(t, x, i)!,

%p i=1..degree(t))/mul(i^coeff(s, x, i)*coeff(s, x, i)!,

%p i=1..degree(s)), u=b(2$2)), t=b(n$2)), s=b(k$2))

%p end:

%p A:= (n, k)-> g(sort([n, k])[]):

%p seq(seq(A(n, d-n), n=0..d), d=0..12);

%t b[n_, i_] := b[n, i] = If[n == 0, {0}, If[i < 1, {}, Flatten[Table[Map[ Function[p, p + j*x^i], b[n - i*j, i - 1]], {j, 0, n/i}]]]];

%t g[n_, k_] := g[n, k] = Sum[Sum[Sum[Product[Product[With[{gc = GCD[i, j]* Coefficient[s, x, i]*Coefficient[t, x, j]}, If[gc == 0, 1, Sum[d* Coefficient[u, x, d], {d, Divisors[LCM[i, j]]}]^gc]], {j, 1, Exponent[t, x]}],

%t {i, Exponent[s, x]}]/Product[i^Coefficient[u, x, i]*Coefficient[u, x, i]!,

%t {i, Exponent[u, x]}]/Product[i^Coefficient[t, x, i]*Coefficient[t, x, i]!,

%t {i, Exponent[t, x]}]/Product[i^Coefficient[s, x, i]*Coefficient[s, x, i]!,

%t {i, Exponent[s, x]}], {u, b[2, 2]}], {t, b[n, n]}], {s, b[k, k]}];

%t A[n_, k_] := g @@ Sort[{n, k}];

%t Table[Table[A[n, d - n], {n, 0, d}], {d, 0, 12}] // Flatten (* _Jean-François Alcover_, Apr 25 2016, adapted from Maple, updated Jan 01 2021 *)

%Y Columns (or rows) k=0-10 give: A000012, A008619, A006918(n+1), A246148, A246149, A246150, A246151, A246152, A246153, A246154, A246155.

%Y Main diagonal gives A091059.

%Y Cf. A028657, A241956, A242095.

%K nonn,tabl

%O 0,8

%A _Alois P. Heinz_, Aug 14 2014