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
G.group_generators() 
       
[(1,2)(3,4), (1,4)(2,3)]
G.ngens() 
       
2
G.order() 
       
4
Finding fixed fields:
sigma = G[1]; tau = G[2]; sigma,tau 
       
((1,2)(3,4), (1,3)(2,4))
(sigma*tau)(z+z^3) 
       
-z^3 - z
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)]
K.is_galois_absolute() 
       
True
KL is Galois, hence:
GKL.order() == KL.degree() 
       
True
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 
       
True