jsMath
Galois groups
8 seconds ago by admin
K.<z> = NumberField(x^4+1)
G = K.galois_group(); G
|
Galois group of Number Field in z with defining polynomial x^4 + 1
|
Finding fixed fields:
sigma = G[1]; tau = G[2];
sigma,tau
H = G.subgroup([G(1),sigma*tau])
E = H.fixed_field(); E
|
(Number Field in z0 with defining polynomial x^2 + 4, Ring morphism:
From: Number Field in z0 with defining polynomial x^2 + 4
To: Number Field in z with defining polynomial x^4 + 1
Defn: z0 |--> 2*z^2)
|
It is possible to embed number fields in the (floating point version of) ℂ :
from sage.rings.number_field.number_field_morphisms import NumberFieldEmbedding
f = NumberFieldEmbedding(K, CLF, 1)
f(z)
|
0.7071067811865475? - 0.7071067811865475?*I
|
f(z^3+z)
|
0.?e-15 - 1.414213562373095?*I
|
If a finite extension is not seperable ...
L.<a> = NumberField(x^3 - 2); L.galois_closure(names='b')
|
Number Field in b with defining polynomial x^6 + 40*x^3 + 1372
|
... the galois_group method creates the Galois closure automatically:
G = L.galois_group(names='b'); G.group_generators()
|
[(1,2)(3,4)(5,6), (1,4,6)(2,5,3)]
|
G[1].as_hom()
|
Ring endomorphism of Number Field in b with defining polynomial x^6
+ 40*x^3 + 1372
Defn: b |--> -2/63*b^4 - 31/63*b
|
K.<a, b> = NumberField([x^2 + 5, x^2 - 2])
L.<c, d> = NumberField([x^2 + 5, x^2 - 3])
composites = K.composite_fields(L, 'e', both_maps=true); composites
|
[[Number Field in e with defining polynomial x^8 - 24*x^6 + 464*x^4
+ 3840*x^2 + 25600, Relative number field morphism:
From: Number Field in a with defining polynomial x^2 + 5 over its
base field
To: Number Field in e with defining polynomial x^8 - 24*x^6 +
464*x^4 + 3840*x^2 + 25600
Defn: a |--> -9/66560*e^7 + 11/4160*e^5 - 241/4160*e^3 -
101/104*e
b |--> -21/166400*e^7 + 73/20800*e^5 - 779/10400*e^3 +
7/260*e, Relative number field morphism:
From: Number Field in c with defining polynomial x^2 + 5 over its
base field
To: Number Field in e with defining polynomial x^8 - 24*x^6 +
464*x^4 + 3840*x^2 + 25600
Defn: c |--> -9/66560*e^7 + 11/4160*e^5 - 241/4160*e^3 -
101/104*e
d |--> -3/25600*e^7 + 7/1600*e^5 - 147/1600*e^3 + 1/40*e,
None]]
|
KL = composites[0][0]; mK = composites[0][1]; mL = composites[0][2]; KL
|
Number Field in e with defining polynomial x^8 - 24*x^6 + 464*x^4 +
3840*x^2 + 25600
|
GKL = KL.galois_group(); GKL.group_generators()
|
[(1,2)(3,5)(4,6)(7,8), (1,5)(2,3)(4,8)(6,7), (1,7)(2,8)(3,4)(5,6)]
|
KL is Galois, hence:
GKL.order() == KL.degree()
Check the formula for the degree of KL (the intersection of K and L has degree 2):
KL.degree() == K.absolute_degree()*L.absolute_degree()/2