sage: x = polygen(QQ); K.<a> = NumberField(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401)
gp: K = bnfinit(y^46 - 21*y^45 + 303*y^44 - 3199*y^43 + 28462*y^42 - 216844*y^41 + 1482276*y^40 - 9149385*y^39 + 52159796*y^38 - 275416018*y^37 + 1364962019*y^36 - 6356196961*y^35 + 28058790010*y^34 - 117422665453*y^33 + 468880651758*y^32 - 1785260085988*y^31 + 6514636802898*y^30 - 22754700540704*y^29 + 76404337315353*y^28 - 246165239380046*y^27 + 763986254214168*y^26 - 2278363058201293*y^25 + 6553379006345079*y^24 - 18122639402283948*y^23 + 48369398641755245*y^22 - 124082565817885020*y^21 + 307258023227043408*y^20 - 730443630601059097*y^19 + 1675623338370133488*y^18 - 3682257303813422851*y^17 + 7802310077530656188*y^16 - 15781930061220186535*y^15 + 30744365804979004797*y^14 - 56866181492428688346*y^13 + 101154460314253792185*y^12 - 169422446704123589990*y^11 + 272498861417357563948*y^10 - 407198743058120303990*y^9 + 583869749598099518224*y^8 - 760308418085795942035*y^7 + 951731184738366402827*y^6 - 1036802148342691785802*y^5 + 1096694466642564711209*y^4 - 920087778256872115878*y^3 + 778468706568920738062*y^2 - 399355828906278303580*y + 243039256589954114401, 1)
magma: R<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401);
oscar: Qx, x = polynomial_ring(QQ); K, a = number_field(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401)
\( x^{46} - 21 x^{45} + 303 x^{44} - 3199 x^{43} + 28462 x^{42} - 216844 x^{41} + 1482276 x^{40} + \cdots + 24\!\cdots\!01 \)
sage: K.defining_polynomial()
gp: K.pol
magma: DefiningPolynomial(K);
oscar: defining_polynomial(K)
Degree : $46$
sage: K.degree()
gp: poldegree(K.pol)
magma: Degree(K);
oscar: degree(K)
Signature : $[0, 23]$
sage: K.signature()
gp: K.sign
magma: Signature(K);
oscar: signature(K)
Discriminant :
\(-779\!\cdots\!727\)
\(\medspace = -\,23^{23}\cdot 47^{44}\)
sage: K.disc()
gp: K.disc
magma: OK := Integers(K); Discriminant(OK);
oscar: OK = ring_of_integers(K); discriminant(OK)
Root discriminant : \(190.66\)
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 : $23^{1/2}47^{22/23}\approx 190.6610011193404$
Ramified primes :
\(23\), \(47\)
sage: K.disc().support()
gp: factor(abs(K.disc))[,1]~
magma: PrimeDivisors(Discriminant(OK));
oscar: prime_divisors(discriminant((OK)))
Discriminant root field : \(\Q(\sqrt{-23}) \)
$\Aut(K/\Q)$
$=$
$\Gal(K/\Q)$ :
$C_{46}$
sage: K.automorphisms()
magma: Automorphisms(K);
oscar: automorphisms(K)
This field is Galois and abelian over $\Q$.
Conductor : \(1081=23\cdot 47\)
Dirichlet character group :
$\lbrace$$\chi_{1081}(896,·)$ , $\chi_{1081}(1,·)$ , $\chi_{1081}(643,·)$ , $\chi_{1081}(645,·)$ , $\chi_{1081}(390,·)$ , $\chi_{1081}(392,·)$ , $\chi_{1081}(1036,·)$ , $\chi_{1081}(277,·)$ , $\chi_{1081}(24,·)$ , $\chi_{1081}(921,·)$ , $\chi_{1081}(666,·)$ , $\chi_{1081}(413,·)$ , $\chi_{1081}(162,·)$ , $\chi_{1081}(1059,·)$ , $\chi_{1081}(806,·)$ , $\chi_{1081}(551,·)$ , $\chi_{1081}(553,·)$ , $\chi_{1081}(298,·)$ , $\chi_{1081}(300,·)$ , $\chi_{1081}(942,·)$ , $\chi_{1081}(944,·)$ , $\chi_{1081}(183,·)$ , $\chi_{1081}(827,·)$ , $\chi_{1081}(576,·)$ , $\chi_{1081}(68,·)$ , $\chi_{1081}(965,·)$ , $\chi_{1081}(967,·)$ , $\chi_{1081}(712,·)$ , $\chi_{1081}(714,·)$ , $\chi_{1081}(459,·)$ , $\chi_{1081}(206,·)$ , $\chi_{1081}(850,·)$ , $\chi_{1081}(852,·)$ , $\chi_{1081}(346,·)$ , $\chi_{1081}(988,·)$ , $\chi_{1081}(990,·)$ , $\chi_{1081}(737,·)$ , $\chi_{1081}(482,·)$ , $\chi_{1081}(484,·)$ , $\chi_{1081}(873,·)$ , $\chi_{1081}(620,·)$ , $\chi_{1081}(1011,·)$ , $\chi_{1081}(758,·)$ , $\chi_{1081}(760,·)$ , $\chi_{1081}(507,·)$ , $\chi_{1081}(252,·)$ $\rbrace$
This is a CM field .
Reflex fields : unavailable$^{4194304}$
$1$, $a$, $a^{2}$, $a^{3}$, $a^{4}$, $a^{5}$, $a^{6}$, $a^{7}$, $a^{8}$, $a^{9}$, $a^{10}$, $a^{11}$, $a^{12}$, $a^{13}$, $a^{14}$, $a^{15}$, $a^{16}$, $a^{17}$, $a^{18}$, $a^{19}$, $a^{20}$, $a^{21}$, $a^{22}$, $a^{23}$, $a^{24}$, $a^{25}$, $a^{26}$, $a^{27}$, $a^{28}$, $a^{29}$, $a^{30}$, $a^{31}$, $a^{32}$, $a^{33}$, $a^{34}$, $a^{35}$, $a^{36}$, $a^{37}$, $a^{38}$, $a^{39}$, $a^{40}$, $a^{41}$, $a^{42}$, $a^{43}$, $a^{44}$, $\frac{1}{14\cdots 79}a^{45}+\frac{33\cdots 02}{14\cdots 79}a^{44}-\frac{58\cdots 69}{14\cdots 79}a^{43}-\frac{56\cdots 09}{14\cdots 79}a^{42}-\frac{56\cdots 64}{14\cdots 79}a^{41}+\frac{22\cdots 09}{14\cdots 79}a^{40}-\frac{43\cdots 72}{14\cdots 79}a^{39}-\frac{56\cdots 43}{14\cdots 79}a^{38}+\frac{64\cdots 09}{14\cdots 79}a^{37}-\frac{19\cdots 78}{14\cdots 79}a^{36}+\frac{26\cdots 48}{14\cdots 79}a^{35}+\frac{50\cdots 39}{14\cdots 79}a^{34}-\frac{41\cdots 71}{14\cdots 79}a^{33}+\frac{42\cdots 40}{14\cdots 79}a^{32}-\frac{93\cdots 84}{14\cdots 79}a^{31}-\frac{13\cdots 99}{14\cdots 79}a^{30}-\frac{69\cdots 41}{14\cdots 79}a^{29}-\frac{62\cdots 32}{14\cdots 79}a^{28}+\frac{23\cdots 40}{14\cdots 79}a^{27}+\frac{11\cdots 15}{14\cdots 79}a^{26}+\frac{46\cdots 27}{14\cdots 79}a^{25}+\frac{87\cdots 89}{14\cdots 79}a^{24}+\frac{15\cdots 54}{14\cdots 79}a^{23}-\frac{69\cdots 10}{14\cdots 79}a^{22}-\frac{59\cdots 78}{14\cdots 79}a^{21}-\frac{32\cdots 03}{14\cdots 79}a^{20}-\frac{67\cdots 36}{14\cdots 79}a^{19}-\frac{15\cdots 84}{14\cdots 79}a^{18}-\frac{26\cdots 93}{14\cdots 79}a^{17}-\frac{67\cdots 78}{14\cdots 79}a^{16}-\frac{52\cdots 98}{14\cdots 79}a^{15}+\frac{54\cdots 57}{14\cdots 79}a^{14}+\frac{55\cdots 17}{14\cdots 79}a^{13}-\frac{69\cdots 76}{14\cdots 79}a^{12}-\frac{59\cdots 63}{14\cdots 79}a^{11}-\frac{35\cdots 61}{14\cdots 79}a^{10}-\frac{41\cdots 44}{14\cdots 79}a^{9}-\frac{73\cdots 58}{14\cdots 79}a^{8}-\frac{23\cdots 36}{14\cdots 79}a^{7}-\frac{49\cdots 44}{14\cdots 79}a^{6}-\frac{38\cdots 45}{14\cdots 79}a^{5}+\frac{22\cdots 25}{14\cdots 79}a^{4}-\frac{31\cdots 95}{14\cdots 79}a^{3}-\frac{54\cdots 59}{14\cdots 79}a^{2}-\frac{25\cdots 39}{14\cdots 79}a+\frac{89\cdots 78}{14\cdots 79}$
sage: K.integral_basis()
gp: K.zk
magma: IntegralBasis(K);
oscar: basis(OK)
sage: UK = K.unit_group()
magma: UK, fUK := UnitGroup(K);
oscar: UK, fUK = unit_group(OK)
Rank : $22$
sage: UK.rank()
gp: K.fu
magma: UnitRank(K);
oscar: rank(UK)
Torsion generator :
\( -1 \)
(order $2$)
sage: UK.torsion_generator()
gp: K.tu[2]
magma: K!f(TU.1) where TU,f is TorsionUnitGroup(K);
oscar: torsion_units_generator(OK)
Fundamental units : not computed
sage: UK.fundamental_units()
gp: K.fu
magma: [K|fUK(g): g in Generators(UK)];
oscar: [K(fUK(a)) for a in gens(UK)]
Regulator : not computed
sage: K.regulator()
gp: K.reg
magma: Regulator(K);
oscar: regulator(K)
\[
\begin{aligned}\lim_{s\to 1} (s-1)\zeta_K(s) =\mathstrut & \frac{2^{r_1}\cdot (2\pi)^{r_2}\cdot R\cdot h}{w\cdot\sqrt{|D|}}\cr = \mathstrut &\frac{2^{0}\cdot(2\pi)^{23}\cdot R \cdot h}{2\cdot\sqrt{779912673387430559616650036621334842027644229827742389590869715354976917232287630948371314414901652178727}}\cr\mathstrut & \text{
some values not computed }
\end{aligned}\]
sage: # self-contained SageMath code snippet to compute the analytic class number formula
x = polygen(QQ); K.<a> = NumberField(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401)
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))))
gp: \\ self-contained Pari/GP code snippet to compute the analytic class number formula
K = bnfinit(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401, 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)))]
magma: /* self-contained Magma code snippet to compute the analytic class number formula */
Qx<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401);
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)));
oscar: # self-contained Oscar code snippet to compute the analytic class number formula
Qx, x = PolynomialRing(QQ); K, a = NumberField(x^46 - 21*x^45 + 303*x^44 - 3199*x^43 + 28462*x^42 - 216844*x^41 + 1482276*x^40 - 9149385*x^39 + 52159796*x^38 - 275416018*x^37 + 1364962019*x^36 - 6356196961*x^35 + 28058790010*x^34 - 117422665453*x^33 + 468880651758*x^32 - 1785260085988*x^31 + 6514636802898*x^30 - 22754700540704*x^29 + 76404337315353*x^28 - 246165239380046*x^27 + 763986254214168*x^26 - 2278363058201293*x^25 + 6553379006345079*x^24 - 18122639402283948*x^23 + 48369398641755245*x^22 - 124082565817885020*x^21 + 307258023227043408*x^20 - 730443630601059097*x^19 + 1675623338370133488*x^18 - 3682257303813422851*x^17 + 7802310077530656188*x^16 - 15781930061220186535*x^15 + 30744365804979004797*x^14 - 56866181492428688346*x^13 + 101154460314253792185*x^12 - 169422446704123589990*x^11 + 272498861417357563948*x^10 - 407198743058120303990*x^9 + 583869749598099518224*x^8 - 760308418085795942035*x^7 + 951731184738366402827*x^6 - 1036802148342691785802*x^5 + 1096694466642564711209*x^4 - 920087778256872115878*x^3 + 778468706568920738062*x^2 - 399355828906278303580*x + 243039256589954114401);
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))))
$C_{46}$ (as 46T1 ):
sage: K.galois_group(type='pari')
gp: polgalois(K.pol)
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
$23^{2}$
$23^{2}$
$46$
$46$
$46$
$23^{2}$
$46$
$46$
R
$23^{2}$
$23^{2}$
$46$
$23^{2}$
$46$
R
$46$
$23^{2}$
In the table, R denotes a ramified prime.
Cycle lengths which are repeated in a cycle type are indicated by
exponents.
sage: # to obtain a list of [e_i,f_i] for the factorization of the ideal pO_K for p=7 in Sage:
p = 7; [(e, pr.norm().valuation(p)) for pr,e in K.factor(p)]
gp: \\ to obtain a list of [e_i,f_i] for the factorization of the ideal pO_K for p=7 in Pari:
p = 7; pfac = idealprimedec(K, p); vector(length(pfac), j, [pfac[j][3], pfac[j][4]])
magma: // to obtain a list of [e_i,f_i] for the factorization of the ideal pO_K for p=7 in Magma:
p := 7; [<pr[2], Valuation(Norm(pr[1]), p)> : pr in Factorization(p*Integers(K))];
oscar: # to obtain a list of [e_i,f_i] for the factorization of the ideal pO_K 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]
(0) (0) (2) (3) (5) (7) (11) (13) (17) (19) (23) (29) (31) (37) (41) (43) (47) (53) (59)