\\ Pari/GP code for working with number field 39.39.118129027602237903625231846226768806470030318124152946028448455403348348206499160462586488797476753449.1. \\ Some of these functions may take a long time to execute (this depends on the field). \\ Define the number field: K = bnfinit(y^39 - y^38 - 354*y^37 + 511*y^36 + 56045*y^35 - 103251*y^34 - 5247131*y^33 + 11548919*y^32 + 323858271*y^31 - 818077472*y^30 - 13915010959*y^29 + 39315623658*y^28 + 428683737326*y^27 - 1332897877353*y^26 - 9615971778232*y^25 + 32610615529383*y^24 + 157954520735238*y^23 - 583064031850378*y^22 - 1895313576585435*y^21 + 7659727015753552*y^20 + 16422194396956823*y^19 - 73899082723108593*y^18 - 100210603740569843*y^17 + 520414495467180616*y^16 + 408676600606594002*y^15 - 2642936340868695765*y^14 - 971974365656650043*y^13 + 9496075566431610394*y^12 + 586468002053107902*y^11 - 23471590571480299925*y^10 + 3789203055222994557*y^9 + 38292325977191105354*y^8 - 12389487729343041691*y^7 - 38551672930076472707*y^6 + 17045767379408771012*y^5 + 21043564296778861782*y^4 - 11248804489468062285*y^3 - 4368569542269920485*y^2 + 2837239422181036677*y - 221647485396299581, 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 \\ Narrow class group: bnfnarrow(K) \\ 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^39 - x^38 - 354*x^37 + 511*x^36 + 56045*x^35 - 103251*x^34 - 5247131*x^33 + 11548919*x^32 + 323858271*x^31 - 818077472*x^30 - 13915010959*x^29 + 39315623658*x^28 + 428683737326*x^27 - 1332897877353*x^26 - 9615971778232*x^25 + 32610615529383*x^24 + 157954520735238*x^23 - 583064031850378*x^22 - 1895313576585435*x^21 + 7659727015753552*x^20 + 16422194396956823*x^19 - 73899082723108593*x^18 - 100210603740569843*x^17 + 520414495467180616*x^16 + 408676600606594002*x^15 - 2642936340868695765*x^14 - 971974365656650043*x^13 + 9496075566431610394*x^12 + 586468002053107902*x^11 - 23471590571480299925*x^10 + 3789203055222994557*x^9 + 38292325977191105354*x^8 - 12389487729343041691*x^7 - 38551672930076472707*x^6 + 17045767379408771012*x^5 + 21043564296778861782*x^4 - 11248804489468062285*x^3 - 4368569542269920485*x^2 + 2837239422181036677*x - 221647485396299581, 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(L)] \\ Galois group: polgalois(K.pol) \\ Frobenius cycle types: \\ 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]])