Computing heights of large degree algebraic numbers
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.