# SageMath code for working with number field 42.0.2281836760183646137444154412268560109828024514076489472840222217265158917203.1 # (Note that not all these functions may be available, and some may take a long time to execute.) # Define the number field: x = polygen(QQ); K. = NumberField(x^42 - x^41 + 21*x^40 - 18*x^39 + 248*x^38 - 191*x^37 + 1996*x^36 - 1375*x^35 + 12088*x^34 - 7495*x^33 + 57373*x^32 - 31825*x^31 + 219409*x^30 - 108700*x^29 + 684645*x^28 - 300153*x^27 + 1757705*x^26 - 677756*x^25 + 3715466*x^24 - 1242500*x^23 + 6455978*x^22 - 1853597*x^21 + 9148985*x^20 - 2205194*x^19 + 10469894*x^18 - 2090336*x^17 + 9505112*x^16 - 1507895*x^15 + 6709547*x^14 - 839645*x^13 + 3559478*x^12 - 314951*x^11 + 1368367*x^10 - 93808*x^9 + 355278*x^8 - 10362*x^7 + 58036*x^6 - 2497*x^5 + 4950*x^4 + 165*x^3 + 176*x^2 - 11*x + 1) # Defining polynomial: K.defining_polynomial() # Degree over Q: K.degree() # Signature: K.signature() # Discriminant: K.disc() # Ramified primes: K.disc().support() # Integral basis: K.integral_basis() # Class group: K.class_group().invariants() # Unit group: UK = K.unit_group() # Unit rank: UK.rank() # Generator for roots of unity: UK.torsion_generator() # Fundamental units: UK.fundamental_units() # Regulator: K.regulator() # Galois group: K.galois_group(type='pari') # Frobenius cycle types: p = 7; # to obtain a list of $[e_i,f_i]$ for the factorization of the ideal $p\mathcal{O}_K$: [(e, pr.norm().valuation(p)) for pr,e in K.factor(p)]