login
Triangular array read by rows. T(n,k) is the number of n X n Boolean matrices with row rank k, n >= 0, 0 <= k <= n.
2

%I #44 Jul 14 2022 08:57:40

%S 1,1,1,1,9,6,1,49,306,156,1,225,8550,37488,19272,1,961,194850,4811700,

%T 17551800,10995120

%N Triangular array read by rows. T(n,k) is the number of n X n Boolean matrices with row rank k, n >= 0, 0 <= k <= n.

%C Compare to A286331 which counts n X n matrices over the field GF(2). Note that the limit when n->oo of the probability that a matrix over GF(2) has rank n is equal to Product_{i>=1} (1-1/2^i) = 0.288... (see A048651). Here, it appears (from some empirical computations) that the limiting probability that a Boolean matrix has rank n is 1.

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Boolean_matrix">Boolean matrix</a>

%F T(n,0) = 1.

%F T(n,1) = (2^n-1)^2.

%F T(n,2) = (3^n - 2*2^n + 1)^2 + (1/2)*(4^n - 2*3^n + 2^n)^2.

%e Table begins:

%e 1;

%e 1, 1;

%e 1, 9, 6;

%e 1, 49, 306, 156;

%e 1, 225, 8550, 37488, 19272;

%e ...

%t Table[B = Tuples[Tuples[{0, 1}, nn],nn]; bospan[matrix_]:= Sort[DeleteDuplicates[

%t Map[Clip[Total[#]] &, Drop[Subsets[matrix], 1]]]]; rowrank[matrix_] :=

%t If[Total[Map[Total, matrix]] == 0, 0, Length[Select[Drop[Subsets[DeleteCases[matrix, Table[0, {nn}]]], 1],

%t bospan[#] == bospan[DeleteCases[matrix, Table[0, {nn}]]] &][[ 1]]]]; Tally[

%t Table[rowrank[B[[i]]], {i, 1, 2^(nn^2)}]][[All,2]], {nn, 0, 4}] // Grid

%Y Columns k = 0 and 1 give A000012, A060867.

%Y Row sums give A002416.

%Y Cf. A048651, A064230, A286331, A355333.

%K nonn,tabl,more

%O 0,5

%A _Geoffrey Critzer_, Jun 12 2022

%E Row n=5 from _Pontus von Brömssen_, Jul 14 2022