#11975: Chow-Heegner points
-------------------------------+--------------------------------------------
   Reporter:  was              |          Owner:  cremona     
       Type:  enhancement      |         Status:  needs_review
   Priority:  major            |      Milestone:  sage-4.8    
  Component:  elliptic curves  |       Keywords:              
Work_issues:                   |       Upstream:  N/A         
   Reviewer:                   |         Author:              
     Merged:                   |   Dependencies:              
-------------------------------+--------------------------------------------

Comment(by cremona):

 Here is part 1 of a review which will take a while.

 1. Applies fine to 4.8.rc0;  two test failures (numerical noise, 64-bit):

 {{{
 sage -t -long devel/sage-
 main/sage/schemes/elliptic_curves/chow_heegner_fast.pyx
 **********************************************************************
 File "/home/jec/sage-4.8.rc0/devel/sage-
 main/sage/schemes/elliptic_curves/chow_heegner_fast.pyx", line 397:
     sage: max([abs(v[i]-w[i]) for i in range(len(v))])
 Expected:
     3...e-13
 Got:
     2.96849663677e-13
 **********************************************************************
 }}}

 {{{
 sage -t -long devel/sage-main/sage/schemes/elliptic_curves/chow_heegner.py
 **********************************************************************
 File "/home/jec/sage-4.8.rc0/devel/sage-
 main/sage/schemes/elliptic_curves/chow_heegner.py", line 1587:
     sage: phi(v[0]), phi(v[1])                          # long time
 Expected:
     (-1.02140518266e-14 + 1.0*I, 5.55111512313e-16 + 1.0*I)
 Got:
     (-5.44009282066e-15 + 1.0*I, 5.55111512313e-16 + 1.0*I)
 }}}

 2. No problems building docs since the new files are not added to the
 reference manual!  If they are (now or one day) there may well be
 issues with formatting, but I will not check for these now.

 3. Testing sl2z_rep_in_fundom(z):
 {{{
 sage: z=CDF(110.1,0.0000000001)
 sage: zz,g = sl2z_rep_in_fundom(z)
 sage: g.acton(z)
 -5684.1 + 99999999.6275*I
 sage: zz
 0.341867712408 + 99999999.6769*I
 sage: g
 [ -56841 6258194]
 [     10   -1101]
 }}}

 This suggests rounding problems -- which are always a problem with
 this algorithm especially when the input point has very small
 imaginary part.  (And that does happen in practice!)  My own strategy
 here (when Im(z) is very small) is to start by taking a good rational
 approximation to Re(z) and first use the SL(2,Z) element taking that
 rational to infinity; only then apply this algorithm.

 4. Gamma_0(N)-equivalence: very clever idea to check that (1) z1,z2
 and (2) Nz1,Nz2 are SL(2,Z)-equivalent!  I am still trying to prove to
 myself that this works even when z1,z2 are elliptic, since in this
 case the g taking z1 to z2 is not unique (in PSL(2,Z)).  So is it not
 possible for both pairs to be SL(2,Z)-equivalent but the matrix in
 SL(2,Z) taking Nz1 to Nz2 is not the conjugate by [N,0;0,1] of the one
 taking z1 to z2?

 5. Typo:
 l.228 "do" --> "due"

 -- That's it as far as line 303.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11975#comment:8>
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.

Reply via email to