-
-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add representations of quivers and quiver algebras to sage #12630
Comments
comment:2
I just had a quick look at the patch, it seems to be very complete - thanks! We are currently slowly getting a large project into sage dealing with (the combinatorics of) cluster algebras and quivers, see #10298. In particular, we also have a class quiver (#10538). I think both classes should be merged as they both deal with acyclic quivers. To be more precice, we deal with skew-symmetrizable matrices and the corresponding labeled quivers, while you seem to focus on the simply-laced version. I can definitely to the review for this patch, and I propose to sit down (virtually together) and merge both concepts. This means make one being dependent of the other. I also want to remark that Franco Saliola has as well quite some code on quiver representations that we might want to merge (if it is not subsumed). We also have currently a project of implementing the knitting algorithm for quivers without cycles which is currently based on Franco's implementation. |
This comment has been minimized.
This comment has been minimized.
comment:4
JStarx, are you coming to Sage Days 38? One of the themes is this sort of thing.
|
comment:5
Correct me if I'm wrong, but my understanding is that a simply-laced quiver is a quiver whose underlying undirected graph is Dynkin type A, D, or E. If this is what you meant then no, this patch doesn't focus on simply-laced quivers. Any finite acyclic quiver is allowed, it could have multiple edges, be disconnected, it doesn't need to be Dynkin or even affine Dynkin. Also it's important that the quivers in my patch have unique representation in Sage because they are part of the defining data of a parent, whereas the point of the combinat quivers is that they can be mutated. So I'm not sure combining the two classes makes sense. I would be very interested in what Simon has to say about this (and in general about my patch) from an algebra/representation theory perspective, as I'm pretty new to Sage development. Franco: I hadn't really considered the possibility till now. But with funding I would definitely be able to come. I'll go ahead and apply. |
This comment has been minimized.
This comment has been minimized.
comment:6
Replying to @sagetrac-JStarx:
Starting with any quiver, you can construct a skew-symmetric matrix (m_{i,j}) with m_{i,j} is the number of edges from i to j minus the number of edges from j to i (one is always supposed to be 0). That's what I meant with simply-laced. One can also think of quivers (like in type B) coming from a skew-symmetrizable matrix (i.e., M such that DM is skew-symmetric for a positive diagonal matrix D), where the edges are labeled (m_{i,j},m_{j,i}). Our "combinatorial quiver" can be construced for any skew-symmetrizable matrix (not in any way restriced to finite or affine types).
This might be right. We could also think of two classes "Quiver" and "CombinatorialQuiver" (as your construction is really the one Gabriel named quiver), and then having maps between them. Can you think of any interaction between the two concepts (like mutating in sinks and sources corresponds in finite types to picking a particular Coxeter element, which corresponds to picking a particular Auslander-Reiten quiver -- we are also currently preparing a paper where we give an alternative combinatorial view on Auslander-Reiten translates in finite types -- any further ideas, maybe beyond finite types)? Best, Christian |
comment:7
Unfortunately I'm no expert on Auslander-Reiten theory, but I think the idea of two separate classes with an easy way of converting makes sense. I also think the conversions should be very easy to do, as both classes can already take a DiGraph as input. I think the easiest way to work this would be to go ahead and get both patches into Sage independently. After that happens it would only take a minor tweak to make the constructors accept Quivers of the other type as input. |
comment:8
Replying to @sagetrac-JStarx:
That approach makes sense to me. By the way: For my own work (computing ext algebras of basic algebras), I'd need finite dimensional quotients of quiver algebras with cycles. So, for now, I think I have to rely on my own implementation. |
comment:9
Replying to @sagetrac-JStarx:
I'm glad that you are considering it. I think you'd make a great fit. Christian is coming as well. Maybe we can convince Simon to come also? |
Reviewer: PatchBot |
Work Issues: doctest failure |
comment:10
A doctest fails on 5.0.beta7:
It looks pretty harmless, but please check it out anyway. |
comment:11
I added comparisons to the QuiverPath class and CombinatorialFreeModuleElement should use should now use those comparisons to determine the order that monomials are printed in. I think previously the order was based on the id of the elements which explains why the patchbot could be getting different output then I was. |
Changed work issues from doctest failure to none |
Changed author from JStarx to Jim Stark |
Changed reviewer from PatchBot to none |
comment:12
There is one error in the tests, that has to be corrected, see the bot report. Please also remove all trailing whitespaces (there seems to be many..) |
comment:255
I've made my pass through it. The first half of the commits are adding the files to the doc and doing doc formatting (and 80 width lines). I've made three changes:
If you're happy with my changes, then I believe we can set this to a positive review. |
Changed reviewer from Simon King to Simon King, Travis Scrimshaw |
comment:256
Replying to @tscrim:
Thank you very much!
Wait, did I really forget to include the new modules in the reference manual?? Strange.
I'll have a look. Do all tests pass? Shall I re-test it? |
comment:257
Replying to @sagetrac-git:
What does this one do? What kind of merge was done there? Can I assume that this is nothing more but moving the existing code into another branch? |
comment:258
Replying to @sagetrac-git:
Is this how modules are added to the docs nowadays ( |
comment:259
Could you elaborate on |
comment:260
I get this error when building the doc ('make doc-clean' followed by 'make').
|
comment:261
Aha!! I think it complains about this:
Perhaps the |
comment:262
I agree with your changes, modulo the problem mentioned in the previous comment. Provided that the documentation builds and the tests pass, I'll post a fix for the |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:264
Documentation does build, hence, I pushed the (presumably final) commit and will now wait for the test results. New commits:
|
comment:265
All tests pass! Hence, I suppose I can turn this into "positive review". Thank you very much, to all contributors! |
comment:266
Yeah! Congratulations Simon! |
comment:267
Thanks Simon. The first commit was me merging the branch into my own (based off the current develop). As for the |
Changed branch from public/combinat/quivers to |
Changed commit from |
comment:270
Hi! With #15801 and this ticket, I am getting the following error:
And indeed:
This is due to the following (apparent?) inconsistency:
Question: which one do we want to change? Cheers, |
comment:271
We have
So, for consistency, I think we want that the base ring is the path algebra. But, please fix this in #15801 and not here, as this ticket is closed already. |
comment:272
Replying to @simon-king-jena:
Ok.
I agree the fix belongs to a followup ticket, and I am fine putting it I fixed the docbuilding issues in #10963/#15801, and the latter is Cheers, |
comment:273
Personally, I disagree (noncommutative base rings scare me, even as a noncommutative algebraist), but this is a tough question. For me, the base ring is the ring everything in sight is linear over (including noncanonical splittings and other auxiliary constructs). Whether |
comment:274
Thinking twice about my first feelings ... For a quiver The case of No strong opinion though ... |
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.Depends on #12412
Depends on #12413
Depends on #14806
Depends on #15491
Depends on #15623
Depends on #15810
CC: @jhpalmieri @williamstein @stumpc5 @saliola @simon-king-jena @sagetrac-gmoose05 @sagetrac-drupel @mguaypaq @nthiery @avirmaux @nathanncohen
Component: algebra
Keywords: algebra, quiver, module, days49
Author: Jim Stark, Simon King, Mathieu Guay-Paquet, Aladin Virmaux
Branch:
f3402ef
Reviewer: Simon King, Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/12630
The text was updated successfully, but these errors were encountered: