

A055547


Number of normal n X n matrices with entries {0,1}.


4




OFFSET

1,1


COMMENTS

A complex matrix M is normal if M^H M = M M^H, where H is conjugate transpose.
Let M be an n X n complex matrix with eigenvalues l_1, ..., l_n. The following are equivalent:
(a) M is normal;
(b) There is a unitary matrix U such that U^H M U is diagonal;
(c) Sum_{i,j = 1..n} M_{i,j}^2 = l_1^2 + ... + l_n^2; and
(d) M has an orthonormal set of n eigenvectors.
If a normal matrix M is split into the symmetric and antisymmetric matrices M=A+S with S=(M+M^H)/2 and A=(MM^H)/2, M^H the transpose of M, A must be a generalized Tournament matrix. (For Tournament matrices each row and each column sums to zero.) The "generalization" is that zeros (indicating a tie between the players) may occur outside the main matrix diagonal. A is therefore a member of the set of the antisymmetric ternary matrices (elements 1,0,+1) counted in A007081(n), because there is a 1to1 mapping of the Tournament matrix onto the labeled edgeoriented Eulerian graphs.  R. J. Mathar, Mar 22 2006


REFERENCES

G. H. Golub and C. F. van Loan, Matrix Computations, Johns Hopkins, 1989, p. 336.
R. A. Horn and C. R. Johnson, Matrix Analysis, Cambridge, 1988, Section 2.5.
W. H. Press et al., Numerical Recipes, Cambridge, 1986; Chapter 11.


LINKS

Table of n, a(n) for n=1..9.
R. J. Mathar, C program
Georg Muntingh, Sage code for recursively computing higher entries
Eric Weisstein's World of Mathematics, Normal Matrix.
Index entries for sequences related to binary matrices


FORMULA

a(n) >= 2^[n*(n+1)/2] = A006125(n+1) because all symmetric binary matrices (which have n*(n+1)/2 independent elements) are normal.  R. J. Mathar, Mar 22 2006


MATHEMATICA

Options[NormalMatrixQ]={ ZeroTest>(#===0&) };
Matrices[n_, l_List:{0, 1}] := Partition[ #, n]&/@Flatten[Outer[List, Sequence@@Table[l, {n^2}]], n^21]
NormalMatrixQ[a_List?MatrixQ, opts___] := Module[ { b=Conjugate@Transpose@a, zerotest=ZeroTest/.{opts}/.Options[NormalMatrixQ] }, (zerotest/@And@@Flatten[a.bb.a])Dimensions[a]=={1, 1} ]
Table[Count[Matrices[n, {0, 1}], _?NormalMatrixQ], {n, 4}]


PROG

(PARI) NormaQ(a, n) = { local(aT) ; aT=mattranspose(a) ; if( a*aT == aT*a, 1, 0) ; } combMat(no, n) = { local(a, noshif) ; a = matrix(n, n) ; noshif=no ; for(co=1, n, for(ro=1, n, if( (noshif %2)== 1, a[ro, co] = 1, a[ro, co] = 0) ; noshif = floor(noshif/2) ; ) ) ; return(a) ; } { for (n = 1, 5, count = 0; a = matrix(n, n) ; for( no=0, 2^(n^2)1, a = combMat(no, n) ; count += NormaQ(a, n) ; ) ; print(count) ; ) } \\ R. J. Mathar, Mar 15 2006


CROSSREFS

Cf. A006125, A055548, A055549.
Sequence in context: A262479 A192550 A157752 * A113087 A322495 A332637
Adjacent sequences: A055544 A055545 A055546 * A055548 A055549 A055550


KEYWORD

nonn,more,hard


AUTHOR

Eric W. Weisstein


EXTENSIONS

Entry revised by N. J. A. Sloane, Jan 15 2004
a(5) from R. J. Mathar, Mar 15 2006
a(6) from R. J. Mathar, Mar 22 2006
Statement (c) corrected.  Max Alekseyev, Oct 18 2008
a(7) from Georg Muntingh, Feb 03 2014
a(8) and a(9) from Brendan McKay, May 09 2019


STATUS

approved



