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 <[email protected]> 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/groups/opt_out. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.
