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
manin constant #12080
Comments
comment:1
The following function, which I wrote for another thing, computes the valuation of c' as above. So this may be useful if it is decided that the implementation rather than the documentation of
|
comment:2
Interesting. All Sage does is call sympow (Mark Watkins's program). Magma gives the same output as Sage (not surprising since it also uses MW's code). Have you tried asking MW for his rationale? |
comment:3
Replying to @JohnCremona:
Does it ?
and |
comment:4
magma, by the way, gets the correct answer (meaning the one consistent with my definition above).
|
comment:5
Now I am confused. First, the code I see for E.modular_degree() in 4.7.2 looks like:
but I admit that I did not look to see what sympow.modular_degree() does. Secondly, in Magma V2.17-9 I get
|
comment:6
I am talking about the MANIN CONSTANT not the MODULAR DEGREE ! The Manin constant as I define it in the description is not the degree, e.g. for 11a2 we have an isogeny X_0(11) = 11a1 -> 11a2 of degree 5, but the pullback of the Neron differential is the Neron differential as the map is etale with kernel Z/5Z. The above code is in |
comment:7
Chris, you're right: the code in sage should change, and docs be improved. I was sloppy. |
patch exported against 4.7.2 |
comment:8
Attachment: trac_12080_manin_constant.patch.gz Here is a patch for the problem. Now, the algorithm is based on comparing the period lattices for the elliptic curve and the optimal curve in the isogeny class. I checked this implementation against the one in magma. for conductors below 1000, there are two exceptions, 27a4 and 80b4. I included them as doctests. I believe that this patch returns the correct value and magma has a small bug in its ManinConstant function. So the reviewer is asked to compute by hand the Manin constant for these two curves and confirm that the returned value is indeed correct. Then I will send a bug report to magma. Furthermore, a precise question to John : Is it true (as the algorithm here assumes) that you have checked that the Manin constant is 1 for all optimal curves in your table ? |
Author: wuthrich |
comment:9
Wuthrich: the appendix by Cremona to this paper is about him verifying that the Manin constant is 1: |
comment:10
Replying to @williamstein:
Yes, indeed. I was referring to this. But at the time the table was smaller, so I jsut wanted to check that the assumption underlying the algorithm is known to hold for all curves in the tale (now and in the future). I should maybe include the paper as the basic reference in the docstring.... |
comment:11
Replying to @categorie:
I will look into this, as I have been meaning to anyway. There was some extra work to do when I wrote that appendix, and so there may also be some to do to verify that c=1 for the extended tables. Some of this is automatically done on the fly, but not all. It is true that when there is only one curve in the isogeny class that c=1 -- this is not as trivial a statement as it appears, but it amounts to saying that the optimal curve is minimal, and I do check that on the fly.
|
Stopgaps: todo |
comment:13
Replying to @categorie:
I finally wrote the obvious program that one should write when ref'ing this patch:
When running it up to 300, I get two differences from Magma:
It could very well be that Magma is wrong... but as part of this patch, could somebody get to the bottom of this? |
comment:14
I've asked Mark Watkins to look at this, since he wrote ManinConstant in Magma.... |
comment:15
Mark Watkins says: "Sage is definitely correct. Sympow code I wrote agrees with Sage here. Magma has a bug." So... positive review. (Also, I checked up to 1200 and Sage and Magma agree in the rest of the cases.) Incidentally, Magma's code is way faster:
However, according to Mark Watkins, Magma is fast because it assumes every imaginable conjecture in that implementation (and doesn't actually compute any periods, etc.) |
Reviewer: William Stein |
Changed stopgaps from todo to none |
Changed author from wuthrich to Chris Wuthrich |
Merged: sage-5.0.beta12 |
My definition of the Manin constant of an elliptic curve E/Q is the rational number c such that
phi(omega) = c * f dq/q
where
With this definition I get a different answer than sage. For instance for 11a2, I get 1 not 5.
Either one has to change the implementation or one has to add to the documentation the definition of what is computed.
The current implementation (from #5138 ) computes the minimal degree of an isogeny from E to the X_0-optimal curve E_0 and multiplies the manin constant of E_0 by this degree. Instead, with my definition, we have to multiply with the number c' where psi*(omega) = c' * omega_0 with psi the isogeny E_0 -> E of minimal degree and omega_0 the Neron differential of E_0. This c' is a divisor of the degree of psi, but on many occasions it is 1.
CC: @williamstein
Component: elliptic curves
Keywords: manin constant, isogeny
Author: Chris Wuthrich
Reviewer: William Stein
Merged: sage-5.0.beta12
Issue created by migration from https://trac.sagemath.org/ticket/12080
The text was updated successfully, but these errors were encountered: