sage: x = polygen(QQ); K.<a> = NumberField(x^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219)
gp: K = bnfinit(y^38 - 304*y^36 - 266*y^35 + 41933*y^34 + 69730*y^33 - 3426479*y^32 - 8099624*y^31 + 183049762*y^30 + 548687586*y^29 - 6680231090*y^28 - 23987190756*y^27 + 169686384783*y^26 + 708938225002*y^25 - 3018350895246*y^24 - 14489790513992*y^23 + 37802280147544*y^22 + 208280775345998*y^21 - 338007964348740*y^20 - 2157118911607202*y^19 + 2151786701480777*y^18 + 16600188595793984*y^17 - 8092991352668802*y^16 - 93536887230591734*y^15 + 8981124468818326*y^14 + 410584246763815678*y^13 + 169889908746117158*y^12 - 1213081286172833338*y^11 - 877922600330127862*y^10 + 3318553597434145946*y^9 + 5125749038813794988*y^8 - 1873842236788886072*y^7 + 1268339370593460529*y^6 + 14808781213729150014*y^5 + 46758207820852858725*y^4 + 17480877413656313060*y^3 + 169357167185673333495*y^2 + 207600614196418504062*y + 391269434132253227219, 1)
magma: R<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219);
oscar: Qx, x = polynomial_ring(QQ); K, a = number_field(x^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219)
\( x^{38} - 304 x^{36} - 266 x^{35} + 41933 x^{34} + 69730 x^{33} - 3426479 x^{32} - 8099624 x^{31} + \cdots + 39\!\cdots\!19 \)
sage: K.defining_polynomial()
gp: K.pol
magma: DefiningPolynomial(K);
oscar: defining_polynomial(K)
Degree : $38$
sage: K.degree()
gp: poldegree(K.pol)
magma: Degree(K);
oscar: degree(K)
Signature : $[0, 19]$
sage: K.signature()
gp: K.sign
magma: Signature(K);
oscar: signature(K)
Discriminant :
\(-169\!\cdots\!992\)
\(\medspace = -\,2^{57}\cdot 19^{72}\)
sage: K.disc()
gp: K.disc
magma: OK := Integers(K); Discriminant(OK);
oscar: OK = ring_of_integers(K); discriminant(OK)
Root discriminant : \(748.94\)
sage: (K.disc().abs())^(1./K.degree())
gp: abs(K.disc)^(1/poldegree(K.pol))
magma: Abs(Discriminant(OK))^(1/Degree(K));
oscar: OK = ring_of_integers(K);
(1.0 * abs(discriminant(OK)))^(1/degree(K))
Galois root discriminant : $2^{3/2}19^{36/19}\approx 748.9391840287906$
Ramified primes :
\(2\), \(19\)
sage: K.disc().support()
gp: factor(abs(K.disc))[,1]~
magma: PrimeDivisors(Discriminant(OK));
oscar: prime_divisors(discriminant(OK))
Discriminant root field : \(\Q(\sqrt{-2}) \)
$\Aut(K/\Q)$
$=$
$\Gal(K/\Q)$ :
$C_{38}$
sage: K.automorphisms()
magma: Automorphisms(K);
oscar: automorphisms(K)
This field is Galois and abelian over $\Q$.
Conductor : \(2888=2^{3}\cdot 19^{2}\)
Dirichlet character group :
$\lbrace$$\chi_{2888}(2433,·)$ , $\chi_{2888}(1027,·)$ , $\chi_{2888}(1,·)$ , $\chi_{2888}(1673,·)$ , $\chi_{2888}(2699,·)$ , $\chi_{2888}(115,·)$ , $\chi_{2888}(913,·)$ , $\chi_{2888}(1939,·)$ , $\chi_{2888}(2585,·)$ , $\chi_{2888}(153,·)$ , $\chi_{2888}(1179,·)$ , $\chi_{2888}(1825,·)$ , $\chi_{2888}(2851,·)$ , $\chi_{2888}(305,·)$ , $\chi_{2888}(1065,·)$ , $\chi_{2888}(2091,·)$ , $\chi_{2888}(2737,·)$ , $\chi_{2888}(1331,·)$ , $\chi_{2888}(1977,·)$ , $\chi_{2888}(571,·)$ , $\chi_{2888}(1217,·)$ , $\chi_{2888}(2243,·)$ , $\chi_{2888}(457,·)$ , $\chi_{2888}(1483,·)$ , $\chi_{2888}(2129,·)$ , $\chi_{2888}(419,·)$ , $\chi_{2888}(723,·)$ , $\chi_{2888}(267,·)$ , $\chi_{2888}(1369,·)$ , $\chi_{2888}(2395,·)$ , $\chi_{2888}(609,·)$ , $\chi_{2888}(1635,·)$ , $\chi_{2888}(2281,·)$ , $\chi_{2888}(875,·)$ , $\chi_{2888}(1521,·)$ , $\chi_{2888}(2547,·)$ , $\chi_{2888}(761,·)$ , $\chi_{2888}(1787,·)$ $\rbrace$
This is a CM field .
Reflex fields : unavailable$^{262144}$
$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}$, $\frac{1}{307}a^{34}+\frac{3}{307}a^{33}+\frac{90}{307}a^{32}+\frac{64}{307}a^{31}+\frac{114}{307}a^{30}+\frac{144}{307}a^{29}+\frac{15}{307}a^{28}+\frac{109}{307}a^{27}+\frac{136}{307}a^{26}+\frac{29}{307}a^{25}-\frac{147}{307}a^{24}-\frac{18}{307}a^{23}+\frac{34}{307}a^{22}+\frac{114}{307}a^{21}-\frac{115}{307}a^{20}+\frac{58}{307}a^{19}-\frac{86}{307}a^{18}-\frac{108}{307}a^{17}+\frac{73}{307}a^{16}+\frac{65}{307}a^{15}-\frac{98}{307}a^{14}+\frac{133}{307}a^{13}+\frac{42}{307}a^{12}+\frac{65}{307}a^{11}-\frac{6}{307}a^{10}+\frac{123}{307}a^{9}-\frac{151}{307}a^{8}+\frac{6}{307}a^{7}+\frac{59}{307}a^{6}+\frac{45}{307}a^{5}-\frac{93}{307}a^{4}+\frac{144}{307}a^{3}+\frac{26}{307}a^{2}-\frac{146}{307}a+\frac{102}{307}$, $\frac{1}{307}a^{35}+\frac{81}{307}a^{33}+\frac{101}{307}a^{32}-\frac{78}{307}a^{31}+\frac{109}{307}a^{30}-\frac{110}{307}a^{29}+\frac{64}{307}a^{28}+\frac{116}{307}a^{27}-\frac{72}{307}a^{26}+\frac{73}{307}a^{25}+\frac{116}{307}a^{24}+\frac{88}{307}a^{23}+\frac{12}{307}a^{22}-\frac{150}{307}a^{21}+\frac{96}{307}a^{20}+\frac{47}{307}a^{19}+\frac{150}{307}a^{18}+\frac{90}{307}a^{17}+\frac{153}{307}a^{16}+\frac{14}{307}a^{15}+\frac{120}{307}a^{14}-\frac{50}{307}a^{13}-\frac{61}{307}a^{12}+\frac{106}{307}a^{11}+\frac{141}{307}a^{10}+\frac{94}{307}a^{9}+\frac{152}{307}a^{8}+\frac{41}{307}a^{7}-\frac{132}{307}a^{6}+\frac{79}{307}a^{5}+\frac{116}{307}a^{4}-\frac{99}{307}a^{3}+\frac{83}{307}a^{2}-\frac{74}{307}a+\frac{1}{307}$, $\frac{1}{88\cdots 89}a^{36}+\frac{72\cdots 41}{88\cdots 89}a^{35}-\frac{89\cdots 42}{88\cdots 89}a^{34}+\frac{24\cdots 49}{88\cdots 89}a^{33}-\frac{24\cdots 98}{88\cdots 89}a^{32}-\frac{66\cdots 66}{88\cdots 89}a^{31}+\frac{34\cdots 56}{88\cdots 89}a^{30}+\frac{28\cdots 47}{88\cdots 89}a^{29}-\frac{22\cdots 38}{88\cdots 89}a^{28}+\frac{41\cdots 64}{88\cdots 89}a^{27}+\frac{36\cdots 93}{88\cdots 89}a^{26}-\frac{41\cdots 94}{88\cdots 89}a^{25}+\frac{44\cdots 58}{88\cdots 89}a^{24}+\frac{29\cdots 60}{88\cdots 89}a^{23}-\frac{24\cdots 44}{88\cdots 89}a^{22}+\frac{13\cdots 27}{88\cdots 89}a^{21}+\frac{10\cdots 26}{88\cdots 89}a^{20}-\frac{11\cdots 58}{88\cdots 89}a^{19}+\frac{42\cdots 92}{88\cdots 89}a^{18}-\frac{29\cdots 63}{88\cdots 89}a^{17}+\frac{54\cdots 61}{88\cdots 89}a^{16}-\frac{10\cdots 41}{88\cdots 89}a^{15}+\frac{49\cdots 77}{88\cdots 89}a^{14}+\frac{40\cdots 30}{88\cdots 89}a^{13}-\frac{49\cdots 59}{88\cdots 89}a^{12}-\frac{41\cdots 10}{88\cdots 89}a^{11}+\frac{42\cdots 09}{88\cdots 89}a^{10}-\frac{22\cdots 07}{88\cdots 89}a^{9}-\frac{33\cdots 88}{88\cdots 89}a^{8}+\frac{65\cdots 72}{88\cdots 89}a^{7}-\frac{38\cdots 66}{88\cdots 89}a^{6}+\frac{28\cdots 43}{88\cdots 89}a^{5}+\frac{16\cdots 80}{88\cdots 89}a^{4}+\frac{25\cdots 77}{88\cdots 89}a^{3}+\frac{16\cdots 72}{88\cdots 89}a^{2}+\frac{29\cdots 95}{88\cdots 89}a+\frac{17\cdots 85}{88\cdots 89}$, $\frac{1}{14\cdots 57}a^{37}+\frac{13\cdots 77}{14\cdots 57}a^{36}+\frac{17\cdots 66}{14\cdots 57}a^{35}-\frac{91\cdots 22}{14\cdots 57}a^{34}-\frac{65\cdots 51}{14\cdots 57}a^{33}+\frac{14\cdots 87}{14\cdots 57}a^{32}+\frac{45\cdots 40}{14\cdots 57}a^{31}-\frac{17\cdots 47}{14\cdots 57}a^{30}-\frac{48\cdots 81}{14\cdots 57}a^{29}+\frac{31\cdots 00}{14\cdots 57}a^{28}-\frac{17\cdots 49}{14\cdots 57}a^{27}+\frac{64\cdots 11}{14\cdots 57}a^{26}-\frac{30\cdots 94}{14\cdots 57}a^{25}+\frac{21\cdots 21}{14\cdots 57}a^{24}-\frac{67\cdots 63}{14\cdots 57}a^{23}-\frac{28\cdots 45}{14\cdots 57}a^{22}-\frac{58\cdots 87}{14\cdots 57}a^{21}+\frac{55\cdots 16}{14\cdots 57}a^{20}+\frac{25\cdots 10}{14\cdots 57}a^{19}-\frac{59\cdots 83}{14\cdots 57}a^{18}-\frac{60\cdots 81}{14\cdots 57}a^{17}+\frac{65\cdots 48}{14\cdots 57}a^{16}-\frac{52\cdots 25}{14\cdots 57}a^{15}+\frac{60\cdots 91}{14\cdots 57}a^{14}+\frac{47\cdots 47}{14\cdots 57}a^{13}+\frac{10\cdots 26}{14\cdots 57}a^{12}-\frac{19\cdots 01}{14\cdots 57}a^{11}-\frac{18\cdots 83}{14\cdots 57}a^{10}+\frac{45\cdots 59}{14\cdots 57}a^{9}+\frac{67\cdots 07}{14\cdots 57}a^{8}+\frac{38\cdots 72}{14\cdots 57}a^{7}+\frac{10\cdots 58}{36\cdots 13}a^{6}+\frac{32\cdots 42}{14\cdots 57}a^{5}-\frac{19\cdots 67}{14\cdots 57}a^{4}+\frac{69\cdots 88}{14\cdots 57}a^{3}+\frac{59\cdots 58}{14\cdots 57}a^{2}+\frac{77\cdots 46}{14\cdots 57}a-\frac{37\cdots 72}{14\cdots 57}$
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 : $18$
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)^{19}\cdot R \cdot h}{2\cdot\sqrt{16942169463783688515274712980459055357466629107345696737681001440761438215014074919167299388239251805665492992}}\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^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219)
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^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219, 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^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219);
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 = polynomial_ring(QQ); K, a = number_field(x^38 - 304*x^36 - 266*x^35 + 41933*x^34 + 69730*x^33 - 3426479*x^32 - 8099624*x^31 + 183049762*x^30 + 548687586*x^29 - 6680231090*x^28 - 23987190756*x^27 + 169686384783*x^26 + 708938225002*x^25 - 3018350895246*x^24 - 14489790513992*x^23 + 37802280147544*x^22 + 208280775345998*x^21 - 338007964348740*x^20 - 2157118911607202*x^19 + 2151786701480777*x^18 + 16600188595793984*x^17 - 8092991352668802*x^16 - 93536887230591734*x^15 + 8981124468818326*x^14 + 410584246763815678*x^13 + 169889908746117158*x^12 - 1213081286172833338*x^11 - 877922600330127862*x^10 + 3318553597434145946*x^9 + 5125749038813794988*x^8 - 1873842236788886072*x^7 + 1268339370593460529*x^6 + 14808781213729150014*x^5 + 46758207820852858725*x^4 + 17480877413656313060*x^3 + 169357167185673333495*x^2 + 207600614196418504062*x + 391269434132253227219);
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_{38}$ (as 38T1 ):
sage: K.galois_group(type='pari')
gp: polgalois(K.pol)
magma: G = GaloisGroup(K);
oscar: G, Gtx = galois_group(K);
degree(K) > 1 ? (G, transitive_group_identification(G)) : (G, nothing)
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(L)]
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
$19^{2}$
$38$
$38$
$19^{2}$
$38$
$19^{2}$
R
$38$
$38$
$38$
$38$
$19^{2}$
$19^{2}$
$38$
$38$
$19^{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)