CoCalc Shared Filesclass group - extension of degree 3.sagews
Author: acx01bc .
Views : 7

K.<a,b> = NumberField([x^2-2,x^2-3])
OK = K.ring_of_integers()
OK.basis()

[(-3/2*b + 17/2)*a - 7*b + 4, 6*a - 5*b, -2*b*a + 5, 11*a - 9*b]
P = x^3-x^2-2*x-8
K.<a> = NumberField(P)
OK = K.ring_of_integers()
OK.basis()

[1, 1/2*a^2 + 1/2*a, a^2]


R.<x> = QQ[]
# 4,6,7, 10
#P = x^3+10*x+1

#P = x^3+4*x+1
P = x^2+29

#L = P.splitting_field('b');
#L.galois_group(type="pari").group()
#exit(0);

K.<a> = NumberField(P)
['is galois : ',K.is_galois()]
OK = K.ring_of_integers()
C = OK.class_group()
C

I = C.gen()
I
I.ideal().basis()

OK.basis()
(1+a).norm()
Ga = K.galois_group(names='y')
ga = Ga.gen(0)

T.<z> = K[]
p = z^3+10*z+1
L.<b> = p.splitting_field();
Gb = L.galois_group(names='y')
gb = Gb.gen(0)

#U.<t> = ZZ[]
(7+a).norm()
#OK.norm

#I = OK.ideal(3,a^2+a+1); I

#for m in [1..11] :
#    P = x^3+m*x+1
#    isP = P.is_prime()
#    ['is prime : ', isP]
#    if isP :
#        K.<a> = NumberField(P)
#        #['is galois : ',K.is_galois()]
#        OK = K.ring_of_integers()
#       OK.class_group()

#OK.class_group(0).gen()

#I = OK.ideal(3,a^2+a+1); I
#I.basis()

['is galois : ', True] Class group of order 6 with structure C6 of Number Field in a with defining polynomial x^2 + 29 Fractional ideal class (3, a + 2) [3, a + 2] [1, a] 30 78
OK.basis()

for k in [1..6] :
I^k

ga
type(ga)
ga(ga(a))

K.galois_group(type="pari").group()

[1, a] Fractional ideal class (3, a + 2) Fractional ideal class (5, a + 4) Fractional ideal class (2, a + 1) Fractional ideal class (5, a + 1) Fractional ideal class (3, a + 1) Trivial principal fractional ideal class (1,2) <class 'sage.rings.number_field.galois_group.GaloisGroupElement'> a PARI group [2, -1, 1, "S2"] of degree 2