#19276: precision problem computing heights on elliptic curves
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  cremona                |       Status:  needs_review
           Type:         |    Milestone:  sage-6.9
  defect                 |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  elliptic curves        |  Work issues:
       Keywords:         |       Commit:
  height precision       |  3ea3fc73d85a9b50fb618f63c345bce415cf7e1a
        Authors:  John   |     Stopgaps:
  Cremona                |
Report Upstream:  N/A    |
         Branch:         |
  u/cremona/19276        |
   Dependencies:         |
-------------------------+-------------------------------------------------
Description changed by cremona:

Old description:

> Computing heights of points over number fields (this does not effect
> things over Q):  in the expression (from Silverman's paper) for the
> number of terms needed for the requested precision for local height at an
> archimedean place v, there is log(max(1,1/|D|_v)) where D is the
> discriminant and v the valuation.  Over Q D is integral so this term is
> always 0.  Over number fields, |D|_v can be extremely small for some v,
> indistinguishable from 0 to moderate precision.
>
> Example (from an LMFDB curve):
> {{{
> sage: K.<a> = NumberField(x^2-x-104)
> sage: E = EllipticCurve([1, a - 1, 1, -816765673272*a - 7931030674178,
> 1478955604013312315*a + 14361086227143654561])
> sage: P = E(5393511/49*a + 52372721/49 , -33896210324/343*a -
> 329141996591/343 )
> sage: P.height()
> }}}
>
> I have a fix and am testing now.

New description:

 Computing heights of points over number fields (this does not effect
 things over Q):  in the expression (from Silverman's paper) for the number
 of terms needed for the requested precision for local height at an
 archimedean place v, there is log(max(1,1/|D|_v)) where D is the
 discriminant and v the valuation.  Over Q D is integral so this term is
 always 0.  Over number fields, |D|_v can be extremely small for some v,
 indistinguishable from 0 to moderate precision.

 Example (from an LMFDB curve):
 {{{
 sage: K.<a> = NumberField(x^2-x-104)
 sage: E = EllipticCurve([1, a - 1, 1, -816765673272*a - 7931030674178,
 1478955604013312315*a + 14361086227143654561])
 sage: P = E(5393511/49*a + 52372721/49 , -33896210324/343*a -
 329141996591/343 )
 sage: P.height()
 }}}

 This raises an error before the fix in this branch; after, it works fine.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/19276#comment:2>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to