#8816: Bug in CPS_height_bound documentation
-------------------------------+--------------------------------------------
Reporter: robertwb | Owner: cremona
Type: defect | Status: new
Priority: major | Milestone: sage-4.4.1
Component: elliptic curves | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------------+--------------------------------------------
Old description:
> The documentation states that
>
> {{{
> Return the Cremona-Prickett-Siksek height bound. This is a
> floating point number B such that if P is a rational point on
> the curve, then `|h(P) - \hat{h}(P)| \leq B`, where `h(P)` is
> the naive logarithmic height of `P` and `\hat{h}(P)` is the
> canonical height.
> }}}
>
> But
>
> {{{
> sage: E = EllipticCurve("5077a")
> sage: E.CPS_height_bound()
> 0.0
> }}}
>
> Clearly that can't be correct as the naive height is not exactly equal to
> the canonical height. Either the documentation is incorrect, or the
> function broken for higher rank curves (in which case we should raise an
> error of some sort.)
New description:
The documentation states that
{{{
Return the Cremona-Prickett-Siksek height bound. This is a
floating point number B such that if P is a rational point on
the curve, then `|h(P) - \hat{h}(P)| \leq B`, where `h(P)` is
the naive logarithmic height of `P` and `\hat{h}(P)` is the
canonical height.
}}}
But
{{{
sage: E = EllipticCurve("5077a")
sage: E.CPS_height_bound()
0.0
}}}
Clearly that can't be correct as the naive height is not exactly equal to
the canonical height. The documentation is incorrect.
--
Comment(by cremona):
It is the documentation which is wrong. Although the difference h(P) -
\hat{h}(P) is bounded above and below, this function returns the upper
bound (since that is the one most used), i.e. it returns B such that h(P)
<= \hat{h}(P) + B.
In the example, the generators are (1,0), (2,0), (0,-3). Naive heights
are therefore 0, log(2)=0.693 and 0. The canonical heights are 0.6682,
0.767, 0.99. This is consistent with B=0 as that just says that h(P) is
no more than \hat{h}(P).
Note that Magma agrees with the bound of 0 for this curve (which is not
that surprising since I wrote the Magma code as well as the C++ code used
here!). Magma calls it the SiksekBound, despite the paper which it is
based on having 3 authors! The paper does give the lower bound too, and
over number fields, so if that is ever needed it could be implemented.
At #8799 I am working through the documentation for this and other
mwrank/eclib related functions, and had already noticed that the
documentation for the height bounds was wrong in this respect. I may fix
this one at the same time -- in which case I will come back here and
cross-reference.
I have taken the liberty of correcting teh title and description on this
ticket! (Rank is irrelevant here).
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8816#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.