# SageMath code for working with number field 45.45.29536099970750111921739666309496858571020526814137892348544513245275107329742003872827344689.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^45 - 3*x^44 - 108*x^43 + 296*x^42 + 5217*x^41 - 13005*x^40 - 149828*x^39 + 337863*x^38 + 2868057*x^37 - 5809689*x^36 - 38881407*x^35 + 70098207*x^34 + 387120467*x^33 - 613625013*x^32 - 2896408122*x^31 + 3972622452*x^30 + 16519787829*x^29 - 19205853294*x^28 - 72406643558*x^27 + 69489283683*x^26 + 244599321027*x^25 - 187254237300*x^24 - 635787323022*x^23 + 371102281773*x^22 + 1263897395760*x^21 - 528600088722*x^20 - 1901669780781*x^19 + 520023114157*x^18 + 2134290033054*x^17 - 327330093672*x^16 - 1754567507744*x^15 + 107410900356*x^14 + 1034842778925*x^13 + 1036802542*x^12 - 428135520330*x^11 - 14111627571*x^10 + 121049080943*x^9 + 4346148948*x^8 - 22551409551*x^7 - 290753084*x^6 + 2597605155*x^5 - 77625633*x^4 - 161647682*x^3 + 13050165*x^2 + 3741168*x - 437977) # 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)]