#11767: elliptic_logarithm of high precision points often hangs forever
-------------------------------+--------------------------------------------
Reporter: was | Owner: cremona
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.7.2
Component: elliptic curves | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
-------------------------------+--------------------------------------------
Comment(by cremona):
I cannot fix this now and maybe someone else should anyway, since my
numerical analysis expertise is clearly lacking -- apologies. The
underlying algorithm here is very good indeed (double exponential) but the
stopping condition needs to be handled properly.
In the function elliptic_logarithm, first of all the working precision is
doubled (prec2 is 2*prec)! Overkill perhaps but with this algorithm the
number of correct digits doubles with each step anyway. The stopping
condition (line 1366) is that the relative error is < eps where eps is
{{{2^-prec2}}}. In the loop, a and b are sequences of complex numbers
which converge to a common limit and we ant to stop when a/b is close to
1. Similarly on line 1400 where a,b are real.
I think that the right thing to do would be to replace eps by
{{{2^-(prec2-1)}}} or something similar. Also, replacing "while True" by
something else so that infinite looping is impossible?
I'm glad this function is useful, by the way -- there is no other software
which can take complex elliptic logs!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11767#comment:4>
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.