Hi!

Currently, I try to resume writing code for modules over finite
dimensional path algebra quotients. At #12630, Jim Stark proposes some
code that apparently has a non-empty intersection with what I need, but
much of it is orthogonal.

So, I'm seeking advice how to fit my experimental code with #12630.

Jim's code is for acyclic quivers only, but, as he writes, most of it
would work with cycles as well. He provides path algebras, but he does
not provide the algebraic structure that is formed by the paths in a
quiver subject to concatenation: His quivers are implemented as a
sub-class of DiGraph, but do not inherit from Parent.

First question: Would you agree that a quiver should be identified with
the algebraic structure formed by "paths with concatenation"? Or should
"quiver as a digraph" be kept separate from "quiver as an algebraic
structure"?

Second question: How do we call this structure? It is not a monoid, unless
there is a single vertex (it has idempotents corresponding to its vertices),
If it has more than one vertex, then it contains a zero element that one
obtains when concatenating paths that do not match.

Florent suggested to call it "monoidoid". Because of multiple idempotents,
I could imagine "multimonoid". But of course, we could just describe it
as an associative magma.

Third question: Do you think we should create categories of "associative
magmas" and of "associative additive magmas", fitting them between
(additive) magmas and (additive) monoids?

Fourth question: How to organise the work?
- Shall the new categories be provided on #12630 or on a new ticket,
  which #12630 will be made dependent on?
- Since all its tests pass, shall #12630 go in first? I.e., shall
  quivers as algebraic structures be introduced on a new ticket that
  depends on #12630?
- Or shall quivers as algebraic structure already be introduced at #12630?
  Note that #12630 does have a class for paths, but they are not elements
  of a parent yet. So, I could imagine to modify #12630 accordingly.
- Do you agree that an improvement of efficiency should be addressed
  after establishing the quiver as algebraic structure (after all,
  premature optimization is the root of all evil)? Or should one try to
  implement "paths with concatenation" in Cython right away (the current
  code at #12630 is python)?

Best regards,
Simon


-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to