#12630: Add representations of quivers and quiver algebras to sage
-------------------------------------+-------------------------------------
       Reporter:  JStarx             |        Owner:  AlexGhitza
           Type:  enhancement        |       Status:  needs_review
       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                            |  a6b04c6c57b2362cbfa2e300a5d592ef79757fc8
Report Upstream:  N/A                |     Stopgaps:
         Branch:                     |
  public/combinat/quivers            |
   Dependencies:  #12412, #12413,    |
  #14806, #15491, #15623, #15810     |
-------------------------------------+-------------------------------------

Comment (by darij):

 I changed the doc again. Simon, can you keep working on the
 public/combinat/quivers branch? Otherwise the branch field is getting
 changed over and over here -- I certainly cannot push onto a branch in
 your namespace.

 Do you think the following notions are now well-documented enough:
 1) what "path" means in the context of quivers;
 2) what "partial semigroup" means and that the path semigroup is a such?
 By "well-documented enough" I mean, in particular, that the documentation
 is in those places where one would be looking for it.

 I don't understand why we have two ways to compute paths in a path
 semigroup:
 {{{
     def all_paths(self, start=None, end=None):
 }}}
 on the one hand, and
 {{{
     def iter_paths_by_length_and_startpoint(self, d, v):
     def iter_paths_by_length_and_endpoint(self, d, v):
 }}}
 on the other. Does the former have any advantages at all, such as speed in
 the acyclic case? All I can say is that it is broken even in the acyclic
 case:
 {{{
 sage: Q = DiGraph({i: {i+1: "a"+str(i)} for i in range(2)})
 sage: Q.edges()
 [(0, 1, 'a0'), (1, 2, 'a1')]
 sage: Q.path_semigroup().all_paths()
 [e_0, a, 0, a*a, a*1, 0*a, 0*1, e_1, a, 1, e_2]
 }}}
 Apparently somewhere deep in the code it believes that every edge label is
 one character long. And it seems to check for acyclicity twice (and, for
 some reason, also checks for absence of loops?). Either way, is there a
 reason for this method to exist?

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