2009/6/11 Rob Beezer <goo...@beezer.cotse.net>:
>
> On Jun 8, 7:47 pm, Jason Grout <jason-s...@creativetrax.com> wrote:
>> I've never had to use the left eigenvectors of a graph.
>
> And I've never needed a directed graph so my matrices are always
> symmetric.  (Just kidding.)  ;-)
>
> The above is now:  http://trac.sagemath.org/sage_trac/ticket/6258
>
> A related question:  matrices and graphs have eigenspaces() methods,
> but matrices have eigenvalues() and graphs have spectrum().  The
> spectrum() method seems identical in the style of its output to the
> eigenvalues() method - a list of eigenvalues repeated according to
> multiplicity.  Furthermore, in algebraic graph theory the term
> "spectrum" is closely tied to both the values of the eigenvalues and
> their multiplicities.
>
> For example, graphs.HoffmanSingletonGraph() has 50 eigenvalues but
> just three are distinct.  The usual shorthand is to list the
> eigenvalues with their multiplicities as an exponent - for the Hoffman-
> Singleton graph this would look like
>
> 7^1  2^28 (-3)^21
>
> Yes, you can count the multiple eigenvalues, or write a routine to do
> it for you, but I think this is something that should be built into
> Sage.
>
> So a proposal for graphs:
>
> 1.  Add a new eigenvalues() method for a graph,  identical to the
> current spectrum(), more in line with the use for matrices.
>
> 2.  Have  spectrum() return something like a list of pairs (e_i, m_i)
> with m_i being the multiplicity of eigenvalue e_i, more in line with
> expectations for the term.  For example, "Algebraic Graph
> Theory" (Godsil and Royle) says the spectrum is the "list of the
> eigenvalues together with their multiplicities."  Biggs' "Algebraic
> Graph Theory" says the spectrum "is the set of numbers which are
> eigenvalues, together with their multiplicities."

Two quick comments:  (1) I would be happy for matrices to have a
spectrum() method too as a synonym for
eigenvalues-with-multiplicities;  (2)  The Factorization class could
be used to hold the lists of eigenvalues with multiplicities, like
this:

sage: I3 = identity_matrix(QQ,3)
sage: M = I3.block_sum(2*I3)
sage: M.eigenvalues()
[2, 2, 2, 1, 1, 1]
sage: Factorization(M.charpoly().roots())
1^3 * 2^3

or

sage: Factorization([(a,1) for a in M.eigenvalues()])
1^3 * 2^3

John

>
> Rob
> >
>

--~--~---------~--~----~------------~-------~--~----~
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