pos def matrices

N. J. A. Sloane njas at research.att.com
Sat Jul 12 13:25:50 CEST 2003


1.  Eric,  I think you may be using the wrong definition of
positive definite matrix,
both in sequences A085505 and A085506 and on your web site.

A real matrix A is pos def (pd in this email) if x A x' > 0
for all nonzero real vectors x.

(This is not the same as all eigenvectors being positive.)

I find that the no. of pd 0,1 matrices begins 
1, 3, 27, 681, ...
a new sequence (A085656).

(Lemma:  a real matrix A is pd iff the symmetric matrix A+A' is pd
iff the eigenvectors of A+A' are positive)



2.  I think your sequence A085505 is the no.
of (0,1) matrices with all eigenvalues (real and) positive.
Agreed?

And I think this is the same as the number of directed
acyclic digraphs. But our proof needs to be rechecked.

We were misled in our earlier investigations (2 days ago)
because Maple gives wrong answers when you ask
if a matrix is pos def.  Possibly Mma has the same bug.
Maple thinks that a non-symmetric matrix cannot be pd.


3.  I think your sequence A085506 is probably the number
of (0,1,-1)-matrices with all eigenvalues (real and) positive.
Can you confirm that?


Neil


PS.  Here is Maple:

with(linalg);

> t1:=array(1..3,1..3,[[2,1,0],[1,2,0],[0,0,2]]);                                                
                                                   [2    1    0]
                                                   [           ]
                                             t1 := [1    2    0]
                                                   [           ]
                                                   [0    0    2]

> definite(t1, positive_def);                                                                    
                                                     true


> t2:=array(1..3,1..3,[[1,1,0],[0,1,0],[0,0,1]]);              
                                                   [1    1    0]
                                                   [           ]
                                             t2 := [0    1    0]
                                                   [           ]
                                                   [0    0    1]

> definite(t2, positive_def);                    
                                                    false

but it is!






More information about the SeqFan mailing list