-
-
Notifications
You must be signed in to change notification settings - Fork 401
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Trac #16456: Bug in descend_to method for elliptic curves
The function descend_to which was implemented in #9384 is incorrect. The twisting parameter d in L* is only defined modulo {{{(L*)^2}}} and one has to determine whether there is a representative which lies in K*, which the implementation does not do, so some "positive" results are missed. Here is an example of this. {{{ sage: K.<a> = NumberField(x^3-2) sage: E = EllipticCurve('11a1').quadratic_twist(2) sage: EK = E.change_ring(K) sage: EK2 = EK.change_weierstrass_model((a,a,a,a+1)) sage: EK2.descend_to(QQ) <None> }}} The heart of the problem being solved here is to determine whether (given that j(E) is in K of course) the twisting parameter in {{{L*/(L*)^2}}} is in the image of {{{K*/(K*)^2}}} or not, and the implementation ignores this. (For j=0 or 1728 the principle is the same with squares replaced by 6th or 4th powers respectively.) I can fix this for number fields (one can restrict from {{{K*/(K*)^2}}} to a finite K(S,2) for an easily determined set S of primes) or for finite fields, but it may not be possible to have this implemented for arbitrary fields, which will cause a problem with the patching. A second and independent bug is reported by Warren Moore: {{{ sage: k.<i> = QuadraticField(-1) sage: E = EllipticCurve(k,[0,0,0,1,0]) sage: E.descend_to(QQ) == None True }}} This caused by a "naked Except" clause plus a call to f.preimage() for a map f which has no attribute/method "preimage". URL: http://trac.sagemath.org/16456 Reported by: cremona Ticket author(s): John Cremona Reviewer(s): Peter Bruin
- Loading branch information
Showing
6 changed files
with
467 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.