#13951: (non)archimedian_local_height broken for rational points on elliptic 
curves
over Q
-----------------------------------+----------------------------------------
       Reporter:  pbruin           |         Owner:  cremona     
           Type:  defect           |        Status:  needs_review
       Priority:  major            |     Milestone:  sage-5.10   
      Component:  elliptic curves  |    Resolution:              
       Keywords:  local heights    |   Work issues:              
Report Upstream:  N/A              |     Reviewers:              
        Authors:  Peter Bruin      |     Merged in:              
   Dependencies:  #12509, #13953   |      Stopgaps:              
-----------------------------------+----------------------------------------

Comment (by cremona):

 Replying to [comment:10 pbruin]:
 > Replying to [comment:8 cremona]:
 > > I am looking at this now.  I note that the two prerequisites are
 already merged in 5.10.beta3/4 and plan to test on 5.10.rc0.
 > >
 > > One preliminary comment:  the little function to compute the local
 degree at an archimedean place by testing if the image of the generator
 under the embedding has 0 imaginary part looks very ugly to me (and it is
 possible that I wrote it).  Surely there is a better way?  I looked to see
 what I did for the period functions in period_lattice.py to test whether
 an embedding was real or not: there, the given embedding is first refined
 to an embedding into AA if real or QQbar if not, using
 sage.rings.number_fields.refine_embedding, which in turn tests whether the
 codomain of the embedding passes sage.rings.real_mpfr.is_RealField().
 Would that be better?
 > >
 > >
 > One easy solution would be to rely on the fact that K.places() returns
 the r_1 real embeddings followed by the r_2 complex embeddings:
 >
 >
 > {{{
 > r1, r2 = K.signature()
 > pl = K.places()
 > return (sum(self.archimedian_local_height(pl[i], prec) for i in
 range(r1))
 >         + 2 * sum(self.archimedian_local_height(pl[i], prec) for i in
 range(r1, r1 + r2))) / K.degree()
 >
 > }}}
 > This leaves the job of distinguishing real and complex places to the
 NumberField code.  I just tested this and it appears to work

 I like that a lot.  Since I am already working on a second patch, I will
 put that in.  Thanks.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13951#comment:11>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to