Computing heights of large degree algebraic numbers

asked 2018-12-24 10:29:23 -0500

vukov gravatar image

updated 2019-01-02 15:10:51 -0500

I have an irreducible polynomial of large degree (I would like to go up to degree ~1000), and I would like to compute the height of its roots. Currently I am doing this:

def irreducible_root_height(f):
    K.<y> = NumberField(f)
    h = y.global_height()
    return h

This is rather slow because I have to construct the number field. Is there a way to find the height without constructing the number field?

I tried to use the functionality with general algebraic numbers, but there doesn't seem to be a way to define an arbitrary root of a polynomial in QQbar. It also looks like computing the height of something in QQbar works by computing a number field, so this wouldn't be any faster.

edit retag flag offensive close merge delete