Rob Beezer wrote:
> Currently, eigenspaces of graphs are computed by constructing the
> adjacency matrix, then converting to a matrix over RDF, and finally
> computing the eigenspaces of this matrix.  When the graph has integer
> eigenvalues of high multiplicity, numerical inaccuracy is leading to
> many one-dimensional eigenspaces for what should be the same
> eigenvalue.
> 
> If you request the adjacency matrix of a graph, it is returned as a
> matrix over the integers and the eigenspaces of this matrix appear to
> behave better numerically.  At least it works well on a graph with 50
> vertices having just three distinct eigenvalues.
> 
> Compare the output of:
> 
> graphs.CompleteGraph(3).eigenspaces()
> (three eigenspaces, wrong)
> 
> with
> 
> graphs.CompleteGraph(3).am().eigenspaces()
> (two eigenspaces, correct)
> 
> 1.  I'm guessing the conversion to RDF is historical.  I'll make a
> ticket and improve the situation unless there is an explanation I'm
> missing.


Yes, I think you're right.  Now, we have good eigenvalues for integer 
matrices, thanks to Carl Witty's QQbar class.


> 
> 2.  Similarly the spectrum() method for graphs returns RDF, while
> integer eigenvalues of the adjacency matrix come back as rationals,
> and non-rational eigenvalues are algebraic numbers.
> 
> 3.  For an undirected graph, the adjacency matrix is symmetric, so the
> distinction between left and right eigenspaces doesn't matter.  For
> directed graphs, would left and right eigenspace methods be useful, or
> just clutter?  One could always build the adjacency matrix and call
> the specialized versions already in place for matrices.


I've never had to use the left eigenvectors of a graph.  Of course, I've 
never had to use left eigenvectors for anything...I think it's standard 
to view eigenvectors as the right eigenvectors in graph theory.  I'm 
curious what Magma does, as it seems to be one of the only pieces of 
software where row vectors and left eigenfunctions are the norm.

Jason


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to