Problem 1:
Give some fun examples of
K.optimized_representation
, where K is a number field.Explain in a short very high level paragraph roughly how
K.optimized_representation
works (start withK.optimized_representation??
).I think
K.optimized_representation
is potentially disturbingly inefficient. Do you agree. Give an example illustrating how it is maybe doing way more than it should be.
K.optimized_representation
eventually computes f.polred(2)
(where f=K.pari_polynomial()
) which calls the polred_aux
routine in pari. For each subfield of K
, the routine computes the minimal polynomials of small linear combinartions of an LLL-basis. It keeps the polynomials with degree equal to the degree of the subfield and then returns the polynomial with smallest discriminant. We only take one polynomial so f.polred(2)
is doing too much work since it computes a polynomial for each subfield. This can be a problem if K
has many subfields.