#6045: [with patch, needs review] Computation of Heegner points
---------------------------+------------------------------------------------
 Reporter:  robertwb       |       Owner:  was     
     Type:  defect         |      Status:  new     
 Priority:  major          |   Milestone:  sage-4.1
Component:  number theory  |    Keywords:          
 Reviewer:                 |      Author:          
   Merged:                 |  
---------------------------+------------------------------------------------

Comment(by robertwb):

 Replying to [comment:16 cremona]:

 > Modular param: type "and and" in a comment.

 Not sure what you meant by this...

 > Why do you reverse the order of summation of a_n/n?

 Because there's less rounding error by starting with the tail.

 {{{
 sage: E = EllipticCurve('37a')
 sage: tau = E._heegner_best_tau(-7, prec=100)
 sage: r1 = sum([an/(m+1)*tau**(m+1) for m, an in
 enumerate(E.anlist(100))])
 sage: r2 = sum(reversed([an/(m+1)*tau**(m+1) for m, an in
 enumerate(E.anlist(100))]))
 sage: tau500 = E._heegner_best_tau(-7, prec=500)
 sage: r = sum([an/(m+1)*tau500**(m+1) for m, an in
 enumerate(E.anlist(100))])
 sage: (r1-r)
 9.8607613152626475676466070660e-32 - 3.6977854932234928378674776498e-32*I
 sage: (r2-r)
 2.4651903288156618919116517665e-32*I
 }}}

 Not that that's really much of a difference...

 > Can you sum the series using an iterator for the an instead of forming
 the whole list?

 There's not a way to get the {{{a_n}}} as an iterator rather than a list.
 FYI, I do plan on optimizing this part a lot more.

 >
 >  _heegner_forms_list: (this only depends on N and D so could perhaps be
 >  factored out of the class to a stand-alone function).

 Perhaps, although I couldn't think of a better place to put it (one
 advantage of having it there is it's defined close to where it's used).

 > More seriously, this function is *wrong*!

 I was thinking of this as the {{{H_N^D}}} rather than the
 {{{H_N^D(\beta)}}} from Mark Watkins "Some Remarks on Heegner Point
 Computations," though I see that it may not have been a complete set.

 I not make it take the chosen square root as a parameter, and it returns
 all the forms associated to that square root. I'm actually not using this
 function right now (as I only want a single surd to recover the Heegner
 point over the Hilbert Class Field) but it will be valuable when
 implementing computation of the Heegner point traced down to Q (which we
 should definitely have n optimized version of in Sage).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6045#comment:20>
Sage <http://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
-~----------~----~----~----~------~----~------~--~---

Reply via email to