#19665: Bug in semi-global minimal models of elliptic curves
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  cremona                |       Status:  needs_review
           Type:         |    Milestone:  sage-6.10
  defect                 |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  elliptic curves        |  Work issues:
       Keywords:         |       Commit:
  minimal model          |  975efad6379bf798e01352bd7c1e413bef9a3585
        Authors:  John   |     Stopgaps:
  Cremona                |
Report Upstream:  N/A    |
         Branch:         |
  u/cremona/19665        |
   Dependencies:         |
-------------------------+-------------------------------------------------
Changes (by cremona):

 * status:  new => needs_review
 * commit:   => 975efad6379bf798e01352bd7c1e413bef9a3585
 * branch:   => u/cremona/19665


Old description:

> In #18662 I implemented global and semi-global minimal models for
> elliptic curves over number fields.  I have used this code a lot in
> preparing data for he LMFDB.  I just ran into a bug -- the curve here is
> defined over a non-Galois cubic field and the error comes when doing a
> computation with the base change to the Galois closure:
> {{{
> K.<a> = NumberField(x^3 - 7*x - 5)
> E = EllipticCurve([a, 0, 1, 2*a^2 + 5*a + 3, -a^2 - 3*a - 2])
> assert E.conductor().norm() ==  8
> G = K.galois_group(names='b')
> K.<a> = NumberField(x^3 - 7*x - 5)
> E = EllipticCurve([a, 0, 1, 2*a^2 + 5*a + 3, -a^2 - 3*a - 2])
> assert E.conductor().norm() ==  8
> G = K.galois_group(names='b')
> def conj_curve(E,sigma): return EllipticCurve([sigma(a) for a in
> E.ainvs()])
> EL = conj_curve(E,G[0])
> L = EL.base_field()
> assert L.class_number() == 2
> EL.isogeny_class()
> #RuntimeError: Error in check_Kraus_global combining transforms at 2 and
> 3
> }}}
>
> I will work on fixing this right away.

New description:

 In #18662 I implemented global and semi-global minimal models for elliptic
 curves over number fields.  I have used this code a lot in preparing data
 for he LMFDB.  I just ran into a bug -- the curve here is defined over a
 non-Galois cubic field and the error comes when doing a computation with
 the base change to the Galois closure:
 {{{
 K.<a> = NumberField(x^3 - 7*x - 5)
 E = EllipticCurve([a, 0, 1, 2*a^2 + 5*a + 3, -a^2 - 3*a - 2])
 assert E.conductor().norm() ==  8
 G = K.galois_group(names='b')
 def conj_curve(E,sigma): return EllipticCurve([sigma(a) for a in
 E.ainvs()])
 EL = conj_curve(E,G[0])
 L = EL.base_field()
 assert L.class_number() == 2
 EL.isogeny_class()
 #RuntimeError: Error in check_Kraus_global combining transforms at 2 and 3
 }}}

 I will work on fixing this right away.

--

Comment:

 This was harder than expected.  When you have local transformations which
 work at each prime dividing 2, to get one which works at all these
 simultaneously is not just a question of applying CRT.  See the comments
 in the code for more details.
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=829dc7caebdde5c127a805326ff0738950fb54c0
 829dc7c]||{{{work in progress on #19665}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=975efad6379bf798e01352bd7c1e413bef9a3585
 975efad]||{{{#19665 Kraus minimal models}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/19665#comment:2>
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/d/optout.

Reply via email to