-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Syncronize implementations of graded free resolutions of graded modules #34386
Comments
comment:1
What are everyone's thoughts on this? |
comment:2
For package structure, I suggest (1) move the class (2) move the class (3) move the class (4) create a new module |
comment:3
+1 to
Yes. |
comment:4
I'm not sure I agree that we need two directories If we do want |
comment:5
Replying to @jhpalmieri:
I agree that
is too long or too deep (just to me?). I have no strong opinion for this.
I agree. |
comment:6
I generally prefer avoid subdirectories until we have more than a small handful of files (maybe something around 4+) so there are not so many branches to go through. So I would have the following files in
Although it does get close to the point that it warrants a subdirectory. Admittedly this is mostly based on personal preference of not wanting to type a lot and the belief it is still easy enough to find the files. So it isn't a strong argument. Although, in part to comment:5, I am more opposed to having a Side quip about overly specialized top-level directories: I think of |
comment:7
Replying to @tscrim:
This is good too. |
comment:8
Or |
comment:9
John's preference would shadow mine. |
comment:10
One problem is that there are lots of natural places for these files, since they deal with modules, homology, various types of algebras, and categories. So I think there may be no perfect solution. Keeping the main resolution files in
so that they are grouped together when you view the files alphabetically, but that's not a big deal. Aside: I think that |
comment:11
Replying to @jhpalmieri:
That's a good idea until there is a subdirectory (then they will just become
+1 as they should either be in graphs or combinat IMO. |
Do we have a way to compute the Hilbert-Poincare series of f.g. subrings of polynomial rings? (at least, the graded case) With finite free resolutions available, it's not too hard to implement, I think. @Bruno-TT |
With #33275 (finitely presented graded modules of graded algebras) and #33950 (modules over polynomial rings), we now have two different implementations of graded free resolutions in Sage. However, their API and internal structures are very different. The goal of this ticket is primarily to start unifying the API.
My main proposal is to introduce a new method to finitely-presented graded modules called
free_resolution()
(or perhapsgraded_resolution()
) that creates an instance of a new classGradedFreeResolution
(different from that on #33950). I see several advantages of doing this:1 - It stores all of the computations. If you want a longer resolution, you do not need to compute the previous ones again.
2 - You no longer need to specify the length and all computations are done lazily when needed.
3 - You will then be able to manipulate the resolutions, such as being able to compute left derived functors.
4 - It would make it more consistent with #33950.
The reason I am suggesting calling it
free_resolution()
(orgraded_resolution()
) is so that we can go through a deprecation period forresolution()
that just returns the maps. It would also make it consistent with #34379.However, there are some questions about the API for both of these that we should try to make consistent:
I) What should
__getitem__
return? On #33950 it returns thei
-th module. This is what I would lean towards as the maps are a little more ambiguous.II) Should this new class eventually be a subclass of
FreeResolution_generic
? Would it make sense for there be a common ABC at all?Some other things to make consistent are:
is_field()
that is currently required for constructing a finite rank free module in theto_vector()
.image()
of a graded module morphism is not a (sub/quotient) module.CC: @kwankyu @jhpalmieri @sverre320 @sagetrac-kvanwoerden @rrbruner @cnassau @louisng114 @trevorkarn
Component: algebra
Keywords: homology, resolutions
Issue created by migration from https://trac.sagemath.org/ticket/34386
The text was updated successfully, but these errors were encountered: