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.