sage: x = polygen(QQ); K.<a> = NumberField(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057)
gp: K = bnfinit(y^12 - 4*y^11 - 62*y^10 + 232*y^9 + 1679*y^8 - 5668*y^7 - 20398*y^6 + 62556*y^5 + 37242*y^4 - 194132*y^3 + 1081520*y^2 - 893952*y + 689057, 1)
magma: R<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057);
oscar: Qx, x = polynomial_ring(QQ); K, a = number_field(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057)
x12−4x11−62x10+232x9+1679x8−5668x7−20398x6+62556x5+⋯+689057
sage: K.defining_polynomial()
magma: DefiningPolynomial(K);
oscar: defining_polynomial(K)
Degree: | | 12 |
|
Signature: | | [0,6] |
|
Discriminant: | |
1646753279454715263844352
=233⋅618
|
magma: OK := Integers(K); Discriminant(OK);
oscar: OK = ring_of_integers(K); discriminant(OK)
|
Root discriminant: | | 104.24 | sage: (K.disc().abs())^(1./K.degree())
gp: abs(K.disc)^(1/poldegree(K.pol))
magma: Abs(Discriminant(OK))^(1/Degree(K));
oscar: (1.0 * dK)^(1/degree(K))
|
Galois root discriminant: | | 211/4612/3≈104.24431456608558
|
Ramified primes: | |
2, 61
|
gp: factor(abs(K.disc))[,1]~
magma: PrimeDivisors(Discriminant(OK));
oscar: prime_divisors(discriminant((OK)))
|
Discriminant root field: | | Q(2)
|
Aut(K/Q)
=
Gal(K/Q):
| | C12 |
|
This field is Galois and abelian over Q. |
Conductor: | | 976=24⋅61 |
Dirichlet character group:
| |
{χ976(1,⋅), χ976(611,⋅), χ976(257,⋅), χ976(379,⋅), χ976(169,⋅), χ976(779,⋅), χ976(291,⋅), χ976(657,⋅), χ976(867,⋅), χ976(489,⋅), χ976(745,⋅), χ976(123,⋅)}
|
This is a CM field. |
Reflex fields: | | 4.0.2048.22, 12.0.1646753279454715263844352.130 |
1, a, a2, a3, a4, a5, a6, a7, 31a8+31a7−31a6+31a5+31a4−31a3−31, 31a9+31a7−31a6+31a4+31a3−31a+31, 74025193471a10+7402519347270407626a9+7402519347946349771a8+74025193471239941788a7−74025193473591468503a6−74025193471163401546a5+24675064491188125090a4−24675064491045951274a3−74025193471215930049a2+2467506449686887660a−24675064491156431118, 34⋯111a11−34⋯111033590347a10+11⋯3751⋯17a9−11⋯3731⋯02a8−34⋯1116⋯86a7+34⋯1114⋯26a6+34⋯1117⋯04a5+11⋯3710⋯31a4−34⋯1116⋯27a3+11⋯3721⋯55a2−34⋯1152⋯15a−15⋯5724⋯93
C349, which has order 349
(assuming GRH)
sage: K.class_group().invariants()
Relative class number: 349
(assuming GRH)
sage: UK = K.unit_group()
magma: UK, fUK := UnitGroup(K);
oscar: UK, fUK = unit_group(OK)
Rank: | | 5
|
|
Torsion generator: | |
−1
(order 2)
| sage: UK.torsion_generator()
magma: K!f(TU.1) where TU,f is TorsionUnitGroup(K);
oscar: torsion_units_generator(OK)
|
Fundamental units: | |
2467506449244a11+24675064492610a10−246750644928098a9−2467506449249441a8+24675064491336440a7+24675064499823418a6−246750644931758568a5−2467506449176535587a4+2467506449347726016a3+24675064491185700715a2−24675064491198490624a+24675064492204425512, 34⋯1116508984833484a11−34⋯11598771322495905a10+34⋯1112⋯16a9+34⋯1136⋯57a8−34⋯1110⋯32a7−34⋯1110⋯81a6+34⋯1126⋯98a5+11⋯3746⋯61a4−11⋯3710⋯44a3−11⋯3725⋯50a2+34⋯1178⋯76a+15⋯5795⋯58, 50⋯19269512402444a11+15⋯5729967457173779a10−15⋯57172359495798496a9−50⋯19625492432260913a8+15⋯5780⋯56a7+50⋯1917⋯81a6−50⋯1954⋯70a5−15⋯5768⋯87a4+15⋯5714⋯36a3+15⋯5723⋯94a2−50⋯1989⋯52a+15⋯5728⋯76, 34⋯1178721309638092a11+34⋯11320594186562322a10−34⋯1161⋯96a9−34⋯1123⋯24a8+11⋯3765⋯48a7+34⋯1170⋯33a6−34⋯1130⋯04a5−34⋯1110⋯26a4+34⋯1119⋯52a3+34⋯1144⋯97a2−34⋯1148⋯82a+50⋯1967⋯81, 34⋯1133485773538444a11+34⋯11468054866428042a10−34⋯1135⋯88a9−34⋯1130⋯54a8+11⋯3745⋯92a7+34⋯1185⋯37a6−34⋯1126⋯16a5−34⋯1111⋯58a4+34⋯1123⋯72a3+34⋯1141⋯05a2−34⋯1146⋯38a+50⋯1961⋯83
(assuming GRH)
| sage: UK.fundamental_units()
magma: [K|fUK(g): g in Generators(UK)];
oscar: [K(fUK(a)) for a in gens(UK)]
|
Regulator: | | 27056.6931186
(assuming GRH)
|
|
s→1lim(s−1)ζK(s)=(≈(≈(w⋅∣D∣2r1⋅(2π)r2⋅R⋅h2⋅164675327945471526384435220⋅(2π)6⋅27056.6931186⋅3490.226378453531
(assuming GRH)
# self-contained SageMath code snippet to compute the analytic class number formula
x = polygen(QQ); K.<a> = NumberField(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057)
DK = K.disc(); r1,r2 = K.signature(); RK = K.regulator(); RR = RK.parent()
hK = K.class_number(); wK = K.unit_group().torsion_generator().order();
2^r1 * (2*RR(pi))^r2 * RK * hK / (wK * RR(sqrt(abs(DK))))
# self-contained Pari/GP code snippet to compute the analytic class number formula
K = bnfinit(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057, 1);
[polcoeff (lfunrootres (lfuncreate (K))[1][1][2], -1), 2^K.r1 * (2*Pi)^K.r2 * K.reg * K.no / (K.tu[1] * sqrt (abs (K.disc)))]
/* self-contained Magma code snippet to compute the analytic class number formula */
Qx<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057);
OK := Integers(K); DK := Discriminant(OK);
UK, fUK := UnitGroup(OK); clK, fclK := ClassGroup(OK);
r1,r2 := Signature(K); RK := Regulator(K); RR := Parent(RK);
hK := #clK; wK := #TorsionSubgroup(UK);
2^r1 * (2*Pi(RR))^r2 * RK * hK / (wK * Sqrt(RR!Abs(DK)));
# self-contained Oscar code snippet to compute the analytic class number formula
Qx, x = PolynomialRing(QQ); K, a = NumberField(x^12 - 4*x^11 - 62*x^10 + 232*x^9 + 1679*x^8 - 5668*x^7 - 20398*x^6 + 62556*x^5 + 37242*x^4 - 194132*x^3 + 1081520*x^2 - 893952*x + 689057);
OK = ring_of_integers(K); DK = discriminant(OK);
UK, fUK = unit_group(OK); clK, fclK = class_group(OK);
r1,r2 = signature(K); RK = regulator(K); RR = parent(RK);
hK = order(clK); wK = torsion_units_order(K);
2^r1 * (2*pi)^r2 * RK * hK / (wK * sqrt(RR(abs(DK))))
C12 (as 12T1):
sage: K.galois_group(type='pari')
magma: G = GaloisGroup(K);
oscar: G, Gtx = galois_group(K); G, transitive_group_identification(G)
Fields in the database are given up to isomorphism. Isomorphic
intermediate fields are shown with their multiplicities.
sage: K.subfields()[1:-1]
gp: L = nfsubfields(K); L[2..length(b)]
magma: L := Subfields(K); L[2..#L];
oscar: subfields(K)[2:end-1]
p |
2 |
3 |
5 |
7 |
11 |
13 |
17 |
19 |
23 |
29 |
31 |
37 |
41 |
43 |
47 |
53 |
59 |
Cycle type |
R |
43 |
12 |
34 |
43 |
12 |
34 |
12 |
112 |
12 |
62 |
43 |
26 |
12 |
62 |
43 |
12 |
In the table, R denotes a ramified prime.
Cycle lengths which are repeated in a cycle type are indicated by
exponents.
# to obtain a list of
[ei,fi] for the factorization of the ideal
pOK for
p=7 in Sage:
p = 7; [(e, pr.norm().valuation(p)) for pr,e in K.factor(p)]
\\ to obtain a list of
[ei,fi] for the factorization of the ideal
pOK for
p=7 in Pari:
p = 7; pfac = idealprimedec(K, p); vector(length(pfac), j, [pfac[j][3], pfac[j][4]])
// to obtain a list of
[ei,fi] for the factorization of the ideal
pOK for $p=7 in Magma:
p := 7; [<pr[2], Valuation(Norm(pr[1]), p)> : pr in Factorization(p*Integers(K))];
# to obtain a list of
[ei,fi] for the factorization of the ideal
pOK for
p=7 in Oscar:
p = 7; pfac = factor(ideal(ring_of_integers(K), p)); [(e, valuation(norm(pr),p)) for (pr,e) in pfac]
p | Label | Polynomial
| e |
f |
c |
Galois group |
Slope content |
2
| 2.3.4.33a1.177 | x12+4x10+4x9+6x8+12x7+14x6+12x5+21x4+16x3+10x2+12x+7 | 4 | 3 | 33 | C12 | [3,4]3 |
61
| 61.4.3.8a1.3 | x12+9x10+120x9+33x8+720x7+4863x6+1560x5+14466x4+65440x3+9636x2+480x+69 | 3 | 4 | 8 | C12 | [ ]34 |