#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.