#12630: Add representations of quivers and quiver algebras to sage
-------------------------------------+-------------------------------------
Reporter: JStarx | Owner: AlexGhitza
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.13
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 | fda4012f91c357f3db86fb07271573886ad0da74
Report Upstream: N/A | Stopgaps:
Branch: |
u/SimonKing/ticket/12630 |
Dependencies: #12412, #12413, |
#14806 |
-------------------------------------+-------------------------------------
Changes (by SimonKing):
* commit: => fda4012f91c357f3db86fb07271573886ad0da74
Old description:
> This will add classes dealing with quivers, quiver algebras,
> representations of quivers, elements of these representations,
> homomorphisms between these representations, and spaces of homomorphisms
> between these representations.
>
> There's a lot here that is really easily computable. We can compute
> socles, quotients, radicals, duals, and more for any finite dimensional
> representation. We can compute projective covers of modules so
> Auslander-Rieten translations have been implemented and there's certainly
> potential for future enhancements dealing with homology and cohomology.
> There's only so much I can say here but everything is fully documented
> and should be self explanatory.
>
> Two shortcomings are that quivers need to be acyclic (to keep things
> finite dimensional) and this code does not handle quivers with relations.
> As far as quivers with relations go there are comments in the code
> detailing what should be done to implement that. It's well within the
> reach of Sage, I just don't have the time to do it at the moment.
>
> __Apply__
>
> The second patch is supposed to split the code into chewable bits (so
> that maintenance and cythonization will become easier), introduces a
> parent structure for the paths of a quiver (namely: a free small
> category), makes paths inherit from Element (but ''not'' from
> `UniqueRepresentation`!) and fixes some tests. The third patch uses
> Sage's infrastructure for morphisms and homsets of representations, and
> it reduces the pollution of the global namespace.
>
> * [attachment:trac_12630_quivers_v2.patch]
> * [attachment:trac12630_refactor_code.patch]
> * [attachment:trac12630-quiver_representation.patch]
New description:
This will add classes dealing with quivers, quiver algebras,
representations of quivers, elements of these representations,
homomorphisms between these representations, and spaces of homomorphisms
between these representations.
There's a lot here that is really easily computable. We can compute
socles, quotients, radicals, duals, and more for any finite dimensional
representation. We can compute projective covers of modules so Auslander-
Rieten translations have been implemented and there's certainly potential
for future enhancements dealing with homology and cohomology. There's
only so much I can say here but everything is fully documented and should
be self explanatory.
Two shortcomings are that quivers need to be acyclic (to keep things
finite dimensional) and this code does not handle quivers with relations.
As far as quivers with relations go there are comments in the code
detailing what should be done to implement that. It's well within the
reach of Sage, I just don't have the time to do it at the moment.
__About the commits__
The second commit is supposed to split the code into chewable bits (so
that maintenance and cythonization will become easier), introduces a
parent structure for the paths of a quiver (namely: a free small
category), makes paths inherit from Element (but ''not'' from
`UniqueRepresentation`!) and fixes some tests. The third commit uses
Sage's infrastructure for morphisms and homsets of representations, and it
reduces the pollution of the global namespace.
--
Comment:
I want to finally get this ticket off my plate. So, as a starter, I was
turning the three patches into three commits of a git branch. Next, I need
to read the preceding comments again, and fix the code accordingly.
----
New commits:
||[[http://git.sagemath.org/sage.git/commit/?id=fda4012|fda4012]]||#12630:
Use existing Sage infrastructure for quiver representations and their
homspaces and morphisms||
||[[http://git.sagemath.org/sage.git/commit/?id=ff82cf0|ff82cf0]]||Implementation
of quivers as associative magmas||
||[[http://git.sagemath.org/sage.git/commit/?id=4cbb1b0|4cbb1b0]]||trac
#12630 Add representations of quivers and quiver algebras||
--
Ticket URL: <http://trac.sagemath.org/ticket/12630#comment:141>
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.