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
Use libsingular for polynomial rings over function fields #16567
Comments
Changed keywords from none to function field, libsingular |
This comment has been minimized.
This comment has been minimized.
comment:2
It is not a big deal to create the |
comment:3
Looks like you want
|
comment:4
Replying to @malb:
Thank you, Martin! So far, I only found |
comment:5
Seems like one actually needs to construct a |
comment:6
I'd assume there should be a way to convert a polynomial to a number as these numbers are polynomials internally as far as I know. Maybe ask on libsingular-devel? |
comment:8
Miguel asked me to push the basic steps that I did for this ticket. All what works is to set up polynomial rings over "fraction fields of polynomial rings" as libsingular polynomial rings with parameters. What is missing is everything else. In particular: the element constructor must be modified so that elements of quotient fields of polynomial rings are converted into libsingular numbers. New commits:
|
Commit: |
comment:11
Ping! I am trying (once again) to work on this. I also got to the point of creating the ring, and am stuck in the point of translating the coefficients. I have started with conversion from sage coefficients to singular ones (the |
comment:12
Also, i am not sure if i am dealing with the pointers correctly. It could use some review freom someone with more c/cython experience. |
comment:13
It's a little easier if the branch you're talking about is actually attached. The cython docs for "cimport extern" is here: It actually does say there that the extern declaration should let cython generate an |
comment:14
Thanks for the answer! I did check that: the generated .cpp file has this line
and the file
So I still have no idea about what could be going on. One possible guess is that the generated file is a |
comment:15
I think I finally got it. This branch seems to work. Still needs some polishing (documentation, cleanup, and check that we are handling memory correctly... which means lots of testing). So please be welcome to take a look and stress-test it. |
This comment has been minimized.
This comment has been minimized.
New commits:
|
comment:36
Linter complains about an unused variable in a method for matrix groups, which is rewriten to use this interface in #19391. Anyways, in the current implementation, that assignation is necesary to create the corresponding singular ring, even if the python variable is not used later. The linter is just not smart enough in this case. |
comment:37
There are some failures reported by the patchbot:
|
comment:38
I can't reproduce the error in pexpect or projective_ds.py (I suspect somehow the file i am testing is different from the one in the patchbot). About the error in macdonald polynomials, I found that it is due to one function creating polynomials in x0, x1... and the other on x1, x2 ... Will look into it. |
comment:39
By rebasing to the newest develop version, I can reproduce the error in I am trying to debug it, but it is quite complicated. Adding the people involved in that ticket to cc for help. |
comment:40
I've traced the error to the
My usual workaround here is to create a dictionary and attempt
crashes Sage. |
comment:42
Thanks for the hint. I could pinpoint the origin of both problems. This should solve it. I still can't reproduce the error in |
comment:44
One of the patchbot passes all tests, and complains only abut the unused variable (that is actually needed to prevent gargage collection). The other patchbots have what seem to be unrelated problems. Is it ok to merge this in this state? or should I do some dummy operation with the variable to make pyflakes happy? |
comment:45
Then it is a spurious error. I wouldn't worry about the pyflakes error. Thank you. |
comment:46
On 32-bit:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:48
LGTM. |
Changed branch from u/mmarco/use_libsingular_for_polynomial_rings_over_function_fields to |
minor cleanup, also trying to fix sagemath#14886 (already fixed in sagemath#16567) ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. URL: sagemath#36593 Reported by: Frédéric Chapoton Reviewer(s): Kwankyu Lee
minor cleanup, also trying to fix sagemath#14886 (already fixed in sagemath#16567) ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. URL: sagemath#36593 Reported by: Frédéric Chapoton Reviewer(s): Kwankyu Lee
Singular has polynomial rings over function fields. However, Sage makes no use of it:
Update:
This works now:
}}}
CC: @malb @miguelmarco @simon-king-jena @dimpase @sagetrac-sbulygin @bhutz @Torrencem @tscrim @jdemeyer @jpflori @embray @EnderWannabe
Component: commutative algebra
Keywords: function field, libsingular
Author: Miguel Marco
Branch/Commit:
6ce2bed
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/16567
The text was updated successfully, but these errors were encountered: