\\ Pari/GP code for working with number field 40.0.100383397447978918530459891214693626269465146363712847232818603515625.2 \\ Some of these functions may take a long time to execute (this depends on the field). \\ Define the number field: K = bnfinit(y^40 - y^39 + 5*y^38 - 5*y^37 + 20*y^36 - 19*y^35 + 74*y^34 - 65*y^33 + 265*y^32 - 210*y^31 + 936*y^30 - 1475*y^29 + 4114*y^28 - 6060*y^27 + 15680*y^26 - 21989*y^25 + 56355*y^24 - 75531*y^23 + 197315*y^22 - 252030*y^21 + 682811*y^20 - 826140*y^19 + 1114445*y^18 - 1435731*y^17 + 1906140*y^16 - 2365144*y^15 + 3132335*y^14 - 3532620*y^13 + 4695244*y^12 - 3931240*y^11 + 5449401*y^10 + 1139235*y^9 + 238165*y^8 + 49790*y^7 + 10409*y^6 + 2176*y^5 + 455*y^4 + 95*y^3 + 20*y^2 + 4*y + 1, 1) \\ Defining polynomial: K.pol \\ Degree over Q: poldegree(K.pol) \\ Signature: K.sign \\ Discriminant: K.disc \\ Ramified primes: factor(abs(K.disc))[,1]~ \\ Integral basis: K.zk \\ Class group: K.clgp \\ Unit rank: K.fu \\ Generator for roots of unity: K.tu[2] \\ Fundamental units: K.fu \\ Regulator: K.reg \\ Analytic class number formula: # self-contained Pari/GP code snippet to compute the analytic class number formula K = bnfinit(x^40 - x^39 + 5*x^38 - 5*x^37 + 20*x^36 - 19*x^35 + 74*x^34 - 65*x^33 + 265*x^32 - 210*x^31 + 936*x^30 - 1475*x^29 + 4114*x^28 - 6060*x^27 + 15680*x^26 - 21989*x^25 + 56355*x^24 - 75531*x^23 + 197315*x^22 - 252030*x^21 + 682811*x^20 - 826140*x^19 + 1114445*x^18 - 1435731*x^17 + 1906140*x^16 - 2365144*x^15 + 3132335*x^14 - 3532620*x^13 + 4695244*x^12 - 3931240*x^11 + 5449401*x^10 + 1139235*x^9 + 238165*x^8 + 49790*x^7 + 10409*x^6 + 2176*x^5 + 455*x^4 + 95*x^3 + 20*x^2 + 4*x + 1, 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)))] \\ Intermediate fields: L = nfsubfields(K); L[2..length(b)] \\ Galois group: polgalois(K.pol) \\ Frobenius cycle types: \\ to obtain a list of $[e_i,f_i]$ for the factorization of the ideal $p\mathcal{O}_K$ for $p=7$ in Pari: p = 7; pfac = idealprimedec(K, p); vector(length(pfac), j, [pfac[j][3], pfac[j][4]])