First time here? Check out the FAQ!

Ask Your Question
2

Height of rational points

asked 4 years ago

8d1h gravatar image

updated 4 years ago

Hi, I'm looking at this example of enumeration of rational points from the documentation Enumeration of rational points on projective schemes. Here I'm considering the entire projective plane.

from sage.schemes.projective.projective_rational_point import enum_projective_number_field
u = QQ['u'].0
K = NumberField(u^3 - 5, 'v')
P.<x,y,z> = ProjectiveSpace(K, 2)
enum_projective_number_field(P, bound=RR(5^(1/3)), prec=2^10)

The returned result includes several points like (v : 1/5*v^2 : 1). If I'm not mistaken, this point is of height 25^(1/3) instead of 5^(1/3): for the infinite place the first coordinate provides a 5^(1/3), and for the place 5 the second coordinate provides another 5^(1/3). Is this a bug?

Edit. I reviewed the code, it seems that the problem is in the file schemes/projective/projective_space.py, the method points_of_bounded_height of class ProjectiveSpace_field. When enumerating points with bounded height over a number field, it uses the method elements_of_bounded_height: this gives not just algebraic integers but all field elements with bounded height.

Preview: (hide)

Comments

I'm not an expert but

E = enum_projective_number_field(P, bound=RR(5^(1/3)), prec=2^10)
max( e.global_height() for e in E )

gives 0.536479304144700, which is smaller than 5^(1/3).

Max Alekseyev gravatar imageMax Alekseyev ( 4 years ago )

Thanks for the comment! First of all, global_height gives the logarithm height, so one should consider exp(0.53...) which is actually equal to 5^(1/3). But this only computes the maximal height among the three coordinates, instead of the height as a homogeneous coordinate. The former is not a well-defined function, for example for (1:1:1)=(2:2:2) it can give both 0=ln(1) and ln(2).

8d1h gravatar image8d1h ( 4 years ago )
1

My code for enumeration of points using elimination is here if anyone is interested. There is a hacked-up global height function for homogeneous coordinates.

8d1h gravatar image8d1h ( 4 years ago )

1 Answer

Sort by » oldest newest most voted
2

answered 4 years ago

John Cremona gravatar image

Looking at the code, it seems to me that the functions implementing local and global heights are wrong. The global height of an individual algebraic number is, I think, correct (and I seem to remember that I wrote it) but the height of a point is projective space is certainly not the max of the heights of the coordinates -- for a start that is not well-defined, as already remarked. I'll make a sage trac ticket for this, and may even fix it myself.

Preview: (hide)
link

Comments

2

That would be great, thanks a lot!

BTW the algorithm for the enumeration of points on projective varieties is not very efficient. I wrote a package in Macaulay2 using elimination, maybe I'll try to port it to Sage too.

8d1h gravatar image8d1h ( 4 years ago )
1

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 4 years ago

Seen: 998 times

Last updated: Feb 15 '21