#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.