\\ Pari/GP code for working with number field 21.1.9900725472657912423302447104.1 \\ Some of these functions may take a long time to execute (this depends on the field). \\ Define the number field: K = bnfinit(y^21 - 3*y^20 - 2*y^19 + 25*y^18 - 40*y^17 - 24*y^16 + 156*y^15 - 215*y^14 + 131*y^13 - 57*y^12 + 294*y^11 - 907*y^10 + 1374*y^9 - 1171*y^8 + 439*y^7 + 387*y^6 - 847*y^5 + 669*y^4 - 179*y^3 - 142*y^2 + 156*y - 38, 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^21 - 3*x^20 - 2*x^19 + 25*x^18 - 40*x^17 - 24*x^16 + 156*x^15 - 215*x^14 + 131*x^13 - 57*x^12 + 294*x^11 - 907*x^10 + 1374*x^9 - 1171*x^8 + 439*x^7 + 387*x^6 - 847*x^5 + 669*x^4 - 179*x^3 - 142*x^2 + 156*x - 38, 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]])