#11271: there is a serious bug in the documentation or code for is_surjective 
for
Galois representations attached to elliptic curves
-------------------------------------+-------------------------------------
       Reporter:  was                |        Owner:  cremona
           Type:  defect             |       Status:  needs_review
       Priority:  critical           |    Milestone:  sage-6.1
      Component:  elliptic curves    |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Chris Wuthrich     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/wuthrich/ticket/11271            |  c3ae100155d686452e326d0dc4662a1c7378e61c
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by cremona):

 Reviewer's comments (not only on the proposed changes, sorry):

    1. The functions {{{_splitting_field()}}} and {{{_division_field()}}}
 would be used a lot if they were more visible!  Please please please open
 two tickets dependent on this one to move these!

    2. There are quite a few little typos in the docstrings and comments
 (and at least one verbose message).  Worth taking this opportunity to fix.

    3. It is very dangerous to store the underlying elliptic curve as G.E
 and the return it when asked since it can be changed!
 {{{
 sage: E = EllipticCurve('11a1')
 sage: G = E.galois_representation()
 sage: G.E
 Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational
 Field
 sage: G.is_surjective(5)
 False
 sage: G.E = EllipticCurve('14a1')
 sage: G
 Compatible family of Galois representations associated to the Elliptic
 Curve defined by y^2 + x*y + y = x^3 + 4*x - 6 over Rational Field
 sage: G.is_surjective(5)
 False
 }}}
 I don't know how to make a data field read-only, so I think the way to do
 this is to return copy(E) in the function elliptic_curve().

    4. G.reducible_primes() only returns a list of the primes p for which
 there is a p-isogeny from E to some other curve, so ignores the CM case.
 This should be corrected, or at least the documentation changed!
 {{{
  sage: E = EllipticCurve('27a1')
 sage: E.has_cm()
 True
 sage: G = E.galois_representation()
 sage: G.reducible_primes()
 [3]
 }}}
 Of course it is not clear what the output should be here.  We could follow
 the LMFDB route (see http://www.lmfdb.org/EllipticCurve/Q/27.a3) and only
 list the primes up to 37, with proper documentation of course.  Otherwise
 we could try to be too clever and return (in that example) [3, Mod(1,3)].

 More comments to follow -- I don't trust trac not to lose all thet I have
 written so far...

--
Ticket URL: <http://trac.sagemath.org/ticket/11271#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to