{'fraction_non_alphanumeric': 0.013888888888888888, 'fraction_numerical': 0.0, 'mean_word_length': 4.7988505747126435, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Reducing number field defining polynomials: An application to class group computations

In this paper we describe how to compute smallest monic polynomials that define a given number field K. We make use of the one-to-one correspondence between monic defining polynomials of K and algebraic integers that generate K. Thus, a smallest polynomial corresponds to a vector in the lattice of integers of K and this vector is short in some sense. The main idea is to consider weighted coordinates for the vectors of the lattice of integers of K. This allows us to find the desired polynomial by enumerating short vectors in these weighted lattices. In the context of the subexponential algorithm of Biasse and Fieker for computing class groups, this algorithm can be used as a precomputation step that speeds up the rest of the computation. It also widens the applicability of their faster conditional method, which requires a defining polynomial of small height, to a much larger set of number field descriptions.