Hi all,

I hope I summarise the discussion correctly:

- There is no mathematical difference between a quiver and a digraph.
  Hence, there will be no separate sub-class "Quiver" of "DiGraph".
- How shall we call the algebraic structure formed by the paths in a
  quiver? PathMonoid? PathMagma? QuiverMonoid? QuiverMagma? All the
  algebraic stuff (representations, path algebra, and also list of
  quiver paths in contrast to list of paths as a digraph) should be
  accessible from there. Methods like "is_sink" should be implemented on
  DiGraph.
- In contrast to Jim's code, QuiverPath should be an element, namely an
  element of the afore-mentioned algebraic structure.
- We should allow directed cycles and loops where possible. We can
  currently only have quiver representations for acyclic quivers. But
  there is no reason to restrict QuiverMonoid and QuiverAlgebra to the
  acyclic case.
- "QuiverMonoid" should be a unique parent. I suggest using
  UniqueRepresentation.
- A QuiverMonoid M is *not* a DiGraph. Of course, it can return the
  underlying quiver by M.quiver(), and M is uniquely determined by
  M.quiver().

The last point gives rise to a question: Is there a way to make a
DiGraph immutable, so that it can be used as a cache key, and so that we
can store the quiver as an attribute of QuiverMonoid?

Jim constructs a class Quiver as a sub-class of DiGraph and makes its
instances immutable, by overriding all self-changing methods on the
level of the instance (not on the level of the class, because these
methods are needed during initialisation). I think it would be much
better to use sage.structure.mutability.Mutability on the level of
DiGraph.

Actually I'd be surprised if there'd be no patch for it yet.
Nathann, what's the ticket number :) ?

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