Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

We can proceed as in the following sample case, where we know the minimal polynomial $f$ of a unit $u$ of $L$. Building the Galois group already constructs $K$. The results are shown in terms of a generator $b$ of $K=\Bbb Q(b)$.

R.<x> = PolynomialRing(QQ)
f = x^5 + 5*x^4 - 5*x^3 - 40*x^2 - 5*x - 1
L.<u> = NumberField(f)
G = L.galois_group(names='b')    # K is generated by b

print(f'L = {L}')
print(f'G = {G}')
print(f'Is u a unit? {u.is_unit()}')

print(f'K is Q(b) where b has minimal polynomial:\n{b.minpoly()}\n')

k, mor, nothing = K.subfields(degree=2)[0]    # not really needed, but i want it
k.inject_variables()
D = k.discriminant()
print(f'k has discriminant {D}')

g0, g1 = G.gen(0), G.gen(1)
print(f'g0 = {g0}')
print(f'g1 = {g1}\n')

print(f'g0 maps the unit u in the following element of K:\n{g0(u)}')
print(f'g0(u) has minimal polynomial:\n{g0(u).minpoly()}\n')

print(f'g1 maps the unit u in the following element of K:\n{g1(u)}')
print(f'g1(u) has minimal polynomial:\n{g1(u).minpoly()}\n')

Results:

L = Number Field in u with defining polynomial x^5 + 5*x^4 - 5*x^3 - 40*x^2 - 5*x - 1
G = Galois group 5T2 (5:2) with order 10 of x^5 + 5*x^4 - 5*x^3 - 40*x^2 - 5*x - 1
Is u a unit? True
K is Q(b) where b has minimal polynomial:
x^10 - 110*x^8 + 4225*x^6 - 64500*x^4 + 346500*x^2 + 30375

Defining b0
k has discriminant -15
g0 = (1,2)(3,10)(4,6)(5,8)(7,9)
g1 = (1,3,5,4,9)(2,7,6,8,10)

g0 maps the unit u in the following element of K:
25301/1038518775*b^8 - 570977/207703755*b^6 + 84844/801945*b^4 - 19932910/13846917*b^2 + 11818549/4615639
g0(u) has minimal polynomial:
x^5 + 5*x^4 - 5*x^3 - 40*x^2 - 5*x - 1

g1 maps the unit u in the following element of K:
25301/1038518775*b^8 - 570977/207703755*b^6 + 84844/801945*b^4 - 19932910/13846917*b^2 + 11818549/4615639
g1(u) has minimal polynomial:
x^5 + 5*x^4 - 5*x^3 - 40*x^2 - 5*x - 1