Calculations related to splitting fields

148 views
Skip to first unread message

Suman Ahmed

unread,
Oct 2, 2013, 7:22:06 AM10/2/13
to sage-s...@googlegroups.com
I need to calculate the splitting field of a polynomial over Z ( in my case, the polynomial is the Weierstrass equation of an elliptic curve ), the degree of extension of the splitting field over Q and the roots ( if it's not possible to find out all of the roots, at least one can find one of the roots ). So I will request to kindly inform me about how to compute them on SAGE & whether I can perform the calculations on the online SAGE notebook ?

John Cremona

unread,
Oct 3, 2013, 4:53:58 AM10/3/13
to SAGE support
There does not seem to be a function returning the splitting field of
a reducible polynomial. For irreducible f you can do this:

sage: Zx.<x> = ZZ[]
sage: f = x^3-2
sage: K.<a> = f.root_field()
sage: K
Number Field in a with defining polynomial x^3 - 2
sage: L.<b> = K.galois_closure(); L
Number Field in b with defining polynomial x^6 + 40*x^3 + 1372
# alternative: L = K.galois_group(names='b').splitting_field()
sage: f.roots(K)
[(a, 1)]
sage: f.roots(L)
[(1/84*b^4 + 13/42*b, 1), (-1/252*b^4 - 55/126*b, 1), (-1/126*b^4 + 8/63*b, 1)]

From your question it looks is if you want the 2-division field of an
elliptic curve. In that case you can get the polynomial this way:

sage: E = EllipticCurve([0,0,0,0,-2]); E
Elliptic Curve defined by y^2 = x^3 - 2 over Rational Field
sage: f = E.division_polynomial(2); f
4*x^3 - 8
sage: f = f.monic(); f
x^3 - 2

For any univariate polynomial f, f.roots() gives its roots over the
base field and f.roots(K) the roots over an extension K of the base.
Here, f has not rational roots, 1 root in K, 3 in L, etc:

sage: f.roots()
[]
sage: f.roots(K)
[(a, 1)]
sage: f.roots(L)
[(1/84*b^4 + 13/42*b, 1), (-1/252*b^4 - 55/126*b, 1), (-1/126*b^4 + 8/63*b, 1)]
sage: f.roots(RR)
[(1.25992104989487, 1)]
sage: f.roots(CC)
[(1.25992104989487, 1),
(-0.629960524947437 - 1.09112363597172*I, 1),
(-0.629960524947437 + 1.09112363597172*I, 1)]

John Cremona

On 2 October 2013 12:22, Suman Ahmed <npur....@gmail.com> wrote:
> I need to calculate the splitting field of a polynomial over Z ( in my case, the polynomial is the Weierstrass equation of an elliptic curve ), the degree of extension of the splitting field over Q and the roots ( if it's not possible to find out all of the roots, at least one can find one of the roots ). So I will request to kindly inform me about how to compute them on SAGE & whether I can perform the calculations on the online SAGE notebook ?
>
> --
> You received this message because you are subscribed to the Google Groups "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
> To post to this group, send email to sage-s...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/groups/opt_out.

Suman Ahmed

unread,
Oct 3, 2013, 3:15:42 PM10/3/13
to sage-s...@googlegroups.com
Respected Prof. John Cremona,

    Thanks for your reply. But please explain me the following - 

1)  Why the roots are given as a 2-tuple and why 1 is appearing always as the second coordinate ?   What does 1 signify here ?

2)  What does " *I " mean in " sage: f.roots(CC) " ?

Regards,

Suman

William Stein

unread,
Oct 3, 2013, 3:36:10 PM10/3/13
to sage-support
On Thu, Oct 3, 2013 at 12:15 PM, Suman Ahmed <npur....@gmail.com> wrote:
> Respected Prof. John Cremona,
>
> Thanks for your reply. But please explain me the following -
>
> 1) Why the roots are given as a 2-tuple and why 1 is appearing always as
> the second coordinate ? What does 1 signify here ?

It is the multiplicity of the roots.

> 2) What does " *I " mean in " sage: f.roots(CC) " ?

I=sqrt(-1)

Regards,

(hopefully) Respected Prof. William Stein
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
Reply all
Reply to author
Forward
0 new messages