// Magma code for working with number field 45.45.16527441490674381067348948889146522048718287580785548225593089356497792068001085725808918264262962961.1 // (Note that not all these functions may be available, and some may take a long time to execute.) // Define the number field: R := PolynomialRing(Rationals()); K := NumberField(R![-36851, 2118031, -40977465, 298954277, -166352258, -6916885901, 16257686900, 64595300484, -182597145321, -333732759991, 957147248584, 1039444940408, -2929193071000, -2048306537737, 5804631677810, 2645087732416, -7914078560767, -2271295840968, 7719490702430, 1265687493078, -5529580093472, -394556499523, 2959992694385, 511532340, -1197228116258, 66266177672, 368042106614, -36476021474, -86102308596, 11523689449, 15280860430, -2468141099, -2040701711, 374739344, 202181480, -40702810, -14526130, 3130045, 729869, -165566, -24132, 5696, 468, -114, -4, 1]); // Defining polynomial: DefiningPolynomial(K); // Degree over Q: Degree(K); // Signature: Signature(K); // Discriminant: Discriminant(Integers(K)); // Ramified primes: PrimeDivisors(Discriminant(Integers(K))); // Integral basis: IntegralBasis(K); // Class group: ClassGroup(K); // Unit group: UK, f := UnitGroup(K); // Unit rank: UnitRank(K); // Generator for roots of unity: K!f(TU.1) where TU,f is TorsionUnitGroup(K); // Fundamental units: [K!f(g): g in Generators(UK)]; // Regulator: Regulator(K); // Galois group: GaloisGroup(K); // Frobenius cycle types: p := 7; // to obtain a list of $[e_i,f_i]$ for the factorization of the ideal $p\mathcal{O}_K$: idealfactors := Factorization(p*Integers(K)); // get the data [ : primefactor in idealfactors];