#12630: Add representations of quivers and quiver algebras to sage
-------------------------------------+-------------------------------------
       Reporter:  JStarx             |        Owner:  AlexGhitza
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.2
      Component:  algebra            |   Resolution:
       Keywords:  algebra, quiver,   |    Merged in:
  module, days49                     |    Reviewers:  Simon King
        Authors:  Jim Stark, Simon   |  Work issues:
  King, Mathieu Guay-Paquet, Aladin  |       Commit:
  Virmaux                            |  72fb2eb71459f4ac76b0d922a7ad788c660a8017
Report Upstream:  N/A                |     Stopgaps:
         Branch:                     |
  u/SimonKing/ticket/12630           |
   Dependencies:  #12412, #12413,    |
  #14806, #15491, #15623             |
-------------------------------------+-------------------------------------

Comment (by ncohen):

 Yo !

 > HEY, I thought ''you'' are the guy who doesn't like to have the graph
 namespace polluted `;-P`

 Well, we still have to add methods from time to time, don't we ?

 > That's the point. It seems that there are two different notions of
 "paths of a graph". One notion is "sequence of vertices that are met along
 the path", another notion is "sequence of directed edges that are
 travelled along the path".
 >
 > If I see that correctly, the current implementation of `all_paths()` for
 digraphs does the former, but the path-semigroup relies on the latter.
 >
 > So, let me re-formulate my question to you.
 > 1. Do you want a new method called, say, `DiGraph.all_quiver_paths()` or
 `DiGraph.all_arrow_sequences()` that returns what the path semigroup
 needs?

 What about `DiGraph.all_paths(edges=True)` ?

 > 2. Do you want me to replace the current `DiGraph.all_paths()` so that
 it returns what the path semigroup needs?

 You are a free man and if I complain a lot I don't own the graph code. I
 just care about it. This `all_paths` function has probably been created
 because somebody needed it, and if you just replace it with what you need
 instead we are going nowhere.

 > 3. Do you want that the path semigroup computes its underlying data on
 its own, without introducing a new method of `DiGraph`?

 Well, you are free to do whatever you want with the code of this
 semigroup. Right now the `all_paths` method returns a list of paths (be it
 with vertices or edges), and if you want to do anything fast with your
 semigroup you probably need to implement your own data structure to store
 it better.

 If it is a data structure which is efficient to store path independently
 of what you do with it semigroup structure, well, then it should probably
 be called `AllPaths` or something rather than semigroup. Then, your semi-
 group can use this data structure, by class inheritance or anything you
 like.

 > I'd be surprised if you answer "yes" to 1., and shocked if you replied
 "yes" to 2. Thus, I suppose you prefer 3., but perhaps I am mistaken.

 I thought 2) was a joke, but I answered it seriously just in case. The
 answer to 3 depends on what you do with the paths : how do you plan on
 storing them ? A list is probably the worst you can do `^^;`

 Nathann

--
Ticket URL: <http://trac.sagemath.org/ticket/12630#comment:167>
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