# number fields and irreducible polynomials

Hello gentle people. Let's see an example.

 f=x^2+4
g=x^4+16
F=NumberField(f,'a')


The extension field of F by g cannot obtained by F.extension(g(s),'s') although we input s=var('s') before. Because g is reducible in F. ( g=(x^2-4I)(x^2+4I) )

Can I check irreducibility of a polynomial in a number field?

Is there any method which makes a number field by given polynomial?

edit retag close merge delete

Sort by » oldest newest most voted

You should define g as an element of the univariate polynomial ring with coefficients in F:

sage: R.<y> = F[]
sage: R
Univariate Polynomial Ring in y over Number Field in a with defining polynomial x^2 + 4
sage: g = y^4+16
sage: g.parent()
Univariate Polynomial Ring in y over Number Field in a with defining polynomial x^2 + 4
sage: g.is_irreducible()
False
sage: g.factor()
(y^2 - 2*a) * (y^2 + 2*a)


EDIT If you want the splitting field of g, together with a map to embed F into it, you can do:

sage: g.splitting_field('b')
Number Field in b with defining polynomial y^4 + 1
sage: g.splitting_field('b', map=True)
(Number Field in b with defining polynomial y^4 + 1, Ring morphism:
From: Number Field in a with defining polynomial x^2 + 4
To:   Number Field in b with defining polynomial y^4 + 1
Defn: a |--> 2*b^2)

more

Hmm.. That's good information but when I have some more polynomials, it looks hard to control variables. When I want to get the splitting field of f1,f2,...,fn which are irreducible in the field of rationals, then I have to make R1.<y1>, R2.<y2>,...,Rn.<yn>, right?

Well, you can use the same x all the time, but then you should be careful that along your computation, it soed not belong to the same parent, i chosed another indeterminate to avoid confusions.