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
Classes for points on generic curves #20811
Comments
Branch: u/gjorgenson/ticket/20811 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:5
Alright I added intersection_multiplicity functions to the affine/projective point classes and think this should be ready for a first review. I haven't changed the usage of |
Reviewer: Ben Hutz |
comment:6
These classes seem fine in how they are structured. Also, since the functionality is calling the curve functionality, that all should be ok. However, I did come across of few things I would like some clarification on. First some minor issues.
Remove the 'or is not' since the boolean it returns is in relation to 'is' Now for the more interesting questions:
What do you think, should intersection_multiplicity() work here? Since we're working locally in an affine patch, this should be reasonably doable. This may be a candidate for a separate ticket since it is also unrelated to the class structure. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
Thanks, made the minor changes. I think multiplicity() can be made to work for arbitrary varieties without much modification. It didn't occur to me before, but I don't think there's anything curve-specific about the definition of multiplicity that's currently used. Should I make a ticket to implement multiplicity() for higher dimensional varieties and points? For intersection_multiplicity(), I was wondering if we might be able to make the current implementations a bit more general as well. Right now, we consider the varieties to intersect as subvarieties of their ambient space, but if I understand correctly, computing intersection multiplicity can also work if we replace the ambient space by a large variety that contains the two given subvarieties (though besides having the right dimension, I'm not sure what other conditions this variety would need to satisfy). To implement this, maybe we could have an optional parameter to pass in a large variety, and then adapt the Tor formula computation by creating the needed ideals in the coordinate ring of the large variety (which could be an actual quotient ring) instead of in that of the ambient space. I tried implementing some of these modifications and so far they appear to be working. I think if this generalization makes sense it could give another way to define intersection multiplicity for products. In the example you gave, Do you think it makes sense to try generalizing intersection_multiplicity() this way? |
comment:9
Yes, I think the new multiplicity functionality should have a new ticket, but both the multiplicity for subschemes and the intersection muliplicty can probably be the same ticket. To answer your questions: No, I don't think Sage can deal with subschemes of subschemes. In fact, I don't think you can even define something like that. The ambient space can only be affine or projective space. I see your comment about making a parameter for the ambient space to get around that, but I don't think it is a good idea, it would be better to create the functionality for subschemes of subschemes, if that is even reasonable to do. I don't think the products one is as complicated as you are making it. Don't you just take an affine patch and work there for intersection multplicity. For a product of projective spaces, the affine patches are products of affine spaces, which is just an affine space (eg, A2 x A2 = A4). Yes, you could probably pass to the Segre embedding, but that is rather slow and complicated. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
Okay thanks, I agree with that. I was mainly wondering about the generalization as a way to convince myself that the affine patch approach for products gives the right intersection multiplicity, but I think I understand better now. I opened ticket #20930 to generalize multiplicity() and implement intersection_multiplicity() for subschemes of products using affine patches. For this ticket, I moved the point class multiplicity functions to just the plane curve point classes since the plane curve implementation of multiplicity does not need Singular. In #20930 I'll give points of projective/affine subschemes access to the generalized multiplicity functionality. |
Changed branch from u/gjorgenson/ticket/20811 to |
Implement classes for points on generic algebraic curves. Then implement singularity analysis functionality at the point level, such as
Q.is_singular()
andQ.multiplicity()
for a point Q on a curve.The implementations of the basic singularity analysis functionality at the curve level can be found in #20774.
CC: @bhutz @miguelmarco
Component: algebraic geometry
Keywords: gsoc2016
Author: Grayson Jorgenson
Branch/Commit:
314d511
Reviewer: Ben Hutz
Issue created by migration from https://trac.sagemath.org/ticket/20811
The text was updated successfully, but these errors were encountered: