// Magma code for working with number field 38.0.2472960613492762938009352687218362626942035203162587025151809700624254848124906369677396881178624.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![63175314409, 0, 1811471395871, 0, 20190511272319, 0, 111675903836641, 0, 333058518278260, 0, 575420256350720, 0, 609555286857416, 0, 413962321806804, 0, 187171442808726, 0, 58044125409037, 0, 12621446315235, 0, 1954462763213, 0, 217550145613, 0, 17454519530, 0, 1004488522, 0, 40850264, 0, 1139565, 0, 20630, 0, 217, 0, 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];