-
-
Notifications
You must be signed in to change notification settings - Fork 472
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
make -1 modular symbols from eclib available to elliptic curves #10256
Comments
comment:1
The current eclib (eclib-20100711.spkg) has normalization problems in the "sign=-1" modular symbols, which I am currently working on fixing. The Sage interface should perhaps wait until that is done. |
comment:6
Ping ? I was working on #20864 when I changed the plus symbols to be computed by eclib by default. I wondered if the negative could be added now? Sage normalises the negative ones correctly now. We only need some rational multiple from eclib. |
comment:7
Implementing this just went up my to-do list, after hearing a lecture by Mazur on his experimental work with Rubin which makes heavy use of this modular symbol functionality. Karl told me that it would save them a lot of time for minus symbols to be available from eclib. As soon as I can, I will. |
comment:8
Excellent. I will help of course. I am curious what Rubin and Mazur are up to, too. |
comment:9
I will make this ticket dependent on another which will upgrade the eclib version in Sage to one which will be released later today. Two reasons: (1) I fixed a bug which sometimes caused the plus symbols to all be mutiplied by a factor >1 (in known examples, a factor of 2). (2) I have added a facility to eclib to base symbols at infinity (oo) instead of 0, i.e. it computes the image of either {0,r} or {oo,r} for a given rational. Example:
Here the error message is coming from Sage, not eclib. And the correct value is 1 though the current eclib version returns 2. |
comment:10
See #22077 |
Dependencies: #22077 |
comment:11
#22077 is now ready for review. I will base by branch for this ticket on that one, so am now setting that to be a prerequisite to this. |
Author: John Cremona |
Branch: u/cremona/10256 |
comment:12
I have set this to Needs Review but note that #22077 (upgrading eclib to version v20161230) is a dependency and is currently also waiting review. |
Commit: |
comment:13
I am working on this. I spotted a few misprints, but more seriously:
|
comment:18
The previous comment needs correcting since I was testing on the wrong machine and not actually useing the latest eclib version v20161230. Now eclib's ecnf program maps {oo,-1/3} to (-3/5,+1) as it should for consistency. But consistency is not correctness, and in fact eclib only normalizes (w.r.t. sign) the plus symbols, and then only when L(E,1) is non-zero. Hence there is more to be done within eclib to get the signs right. I have set #22077 back to 'needs work' but it would also be possible for the sign to be checked on the Sage side. |
comment:19
There's a new version of eclib (v20170104) over at #22077 and my last branch on this ticket (u/cremona/10256) works OK with it. I have not yet merged and tested u/wuthrich/ticket/10256 but I did test with wuthrich's independent test script. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:21
With the latest changes to eclib, it looks good. Testing now. |
comment:22
missed some doctests. |
comment:23
Replying to @categorie:
Dou mean that some are missing, or that they don't work? |
comment:24
Sorry, I had to go, but now I am back. I meant: I missed updating the doctests in newforms.pyx with all the merging forth and back they got lost. Probably you are right and cleaning up could actually help. So one should take your new branch for #22077 and change the files in
Shall I do it? Or have you almost done it already? |
comment:25
John, I fear we are doing parallel work. Upload yours. I did the changes here, but I ran into a very strange compilation error for newforms.pyx. Cython did not recognise "pair". I added an import, but then I got other compilation errors like
Honestly I don't understand. So if yours works, I am happy to ditch what I have done here. |
comment:26
Sorry I totally messed up on the other ticket, and this one will have to wait until I sort that out, which will have to be Friday. Correction (next morning): #22077 is fine and back to "needs review" -- see the remarks there. Nothing was messed up at all. I'll now finish cleaning up this one. |
Changed branch from u/wuthrich/ticket/10256 to u/cremona/10256new |
Changed commit from |
comment:28
OK so here's what I did. Starting from the new branch at #22077, I first used "git cherry-pick" to pick the 4 commits (6f517b3, 6301cc5, 6637227, e81588a) I had originally made here (which had been interspersed with eclib updates); only the first of those had some minor merge conflicts which I fixed. I then used rebase to sqush thos together into one commit ee879ee. Second, I did similarly with the 3 reviewer commits (dcacece, 724a205, e101d21), squashing into one (0db2a00). Lastly I added one more commit after testing revealed one doctest failing (49be7d8). So I think that the 3 top commits on the new branch u/cremona/10256new contain all previous work while being based on u/cremona/22077new which is itself based on 7.5.rc1. If there are additional changes needed here, that's fine as long as they are based on this (and don't require more changes to eclib itself...) |
comment:29
Your branch doesn't exist, John. Mine still does not work. |
Commit: |
comment:31
...it does help if you don't forget to actually push the branch to trac....it's there now |
comment:32
All tests passed, the documentation, too. Thanks a lot. |
Changed branch from u/cremona/10256new to |
This ticket is a follw-up from #10236. In there certain changes from #9476 and #9247 were reverted back. Here is what has to be done to make modular symbols with negative sign available for computations with elliptic curves, e.g. p-adic L-series.
Currently eclib can compute the space of modular symbols of sign = -1, but ECModularSymbol in sage.libs.cremona.newforms.pyx can not use them yet to compute {0,r}-
Once this is there, one can modify sage.schemes.elliptic_curves.ell_modular_symbols.py to allow sign = -1 in ModularSymbolECLIB. (Where one has to think a little bit about the normalization.) This would allow to switch in line 1098 of ell_rational_field.py and in line 131 of padic_lseries.py to make use_eclib=True to be default.
Depends on #22077
CC: @JohnCremona
Component: elliptic curves
Keywords: modular symbols
Author: John Cremona
Branch/Commit:
49be7d8
Reviewer: Chris Wuthrich
Issue created by migration from https://trac.sagemath.org/ticket/10256
The text was updated successfully, but these errors were encountered: