#15662: Ihara zeta function of graphs
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  chapoton               |       Status:  needs_info
           Type:         |    Milestone:  sage-6.1
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:  graph  |    Reviewers:
  theory                 |  Work issues:
       Keywords:  zeta   |       Commit:
  function               |  b2c1e310c03477183cb3e793103711989955eb57
        Authors:         |     Stopgaps:
  Frédéric Chapoton      |
Report Upstream:  N/A    |
         Branch:         |
  u/chapoton/15662       |
   Dependencies:         |
-------------------------+-------------------------------------------------

Comment (by ncohen):

 Yoooooooooooo !

 > 1) I am not quite sure about the name indeed. I would say that this is
 usually called the zeta function of a graph. But there are variants, some
 of them called weighted zeta functions. I think keeping the name starting
 with zeta is good for TAB completion.

 Hmmmmm... Well, if the terminology isn't even set, should it become a
 Graph method ? I am trying to keep my graph functions out of the graph
 class when I believe that their are not of very wide use.

 When you type "zeta function graphs" in Google (http://goo.gl/SM8aLb) the
 first result I get is the following :
 http://math.ucsd.edu/~aterras/snowbird.pdf

 Which hints that there may be quite a lot of Zeta functions defined on
 graphs. And they do mention the one you implement, saying that it may be
 weighted too. What about `.zeta_ihara` if you want the name to begin with
 `zeta` ?

 > 2) The algorithm needs to duplicate every edge, by orienting the
 original one in a chosen direction, and the new one in the other
 direction.

 Like when you do `DiGraph(a_graph)` ?

 > I take as orientation the one given by self.edges(). I then use the
 shift by the number of edges as the bijection between original edges and
 their duplicate-reverse.

 Oh. Well, I still do not understand what your two loops exactly do, but it
 looks like you are computing a bit too much. It feels like you are
 interested in the edges which share a vertex, except when they represent
 the same edge.

 ...

 Hey, aren't you just computing the adjacency matrix of the line graph,
 which can be obtained by `G.line_graph().adjacency_matrix()` ?

 Nathann

--
Ticket URL: <http://trac.sagemath.org/ticket/15662#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to