#10108: Calling mwrank(-10) hangs Sage, but uses very little CPU time
-------------------------------+--------------------------------------------
Reporter: drkirkby | Owner: cremona
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.6.1
Component: elliptic curves | Keywords: mwrank
Author: John Cremona | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------------+--------------------------------------------
Comment(by drkirkby):
Replying to [comment:3 cremona]:
> This was harder than expected. Without either (1) rewriting mwrank's in
put parser or (2) writing a full parser within Sage and only sending to
mwrank when certainly correct, which I do not want to do. If you feed
mwrank correct but incomplete input (such as <5 integers separated by
whitespace) it quietly waits for the rest of the input (with no prompts).
If this hard, then perhaps it's more effort to fix properly than it is
worth. You are a better judge of that than me.
I can't help feeling if this is supposed to take 5 integers then it should
take 5, and not accept fewer or more, as it does. For example:
{{{
sage: mwrank('1 2 3')
"Curve [0,0,0,1,2] : \n1 points of order 2:\n[-1:0:1]\n\nUsing
2-isogenous curve [0,6,0,-7,0] (minimal model
[0,0,0,-19,30])\n-------------------------------------------------------\nFirst
step, determining 1st descent Selmer
groups\n-------------------------------------------------------\nAfter
first local descent, rank bound = 0\nrk(S^{phi}(E'))=
1\nrk(S^{phi'}(E))=
1\n\n-------------------------------------------------------\nSecond step,
determining 2nd descent Selmer
groups\n-------------------------------------------------------\n...skipping
since we already know rank=0\nAfter second local descent, rank bound =
0\nrk(phi'(S^{2}(E)))= 1\nrk(phi(S^{2}(E')))= 1\nrk(S^{2}(E))=
1\nrk(S^{2}(E'))= 2\n\nThird step, determining E(Q)/phi(E'(Q)) and
E'(Q)/phi'(E(Q))\n-------------------------------------------------------\n1.
E(Q)/phi(E'(Q))\n-------------------------------------------------------\n(c,d)
=(-3,4)\n(c',d')=(6,-7)\nThis component of the rank is
0\n-------------------------------------------------------\n2.
E'(Q)/phi'(E(Q))\n-------------------------------------------------------\nThis
component of the rank is
0\n\n-------------------------------------------------------\nSummary of
results:\n-------------------------------------------------------\n
rank(E) = 0\n #E(Q)/2E(Q) = 2\n\nInformation on III(E/Q):\n
#III(E/Q)[phi'] = 1\n #III(E/Q)[2] = 1\n\nInformation on
III(E'/Q):\n #phi'(III(E/Q)[2]) = 1\n #III(E'/Q)[phi] =
1\n #III(E'/Q)[2] = 1\n\n\nUsed descent via 2-isogeny with
isogenous curve E' = [0,0,0,-19,30]\nRank = 0\nRank of S^2(E) = 1\nRank
of S^2(E') = 2\nRank of S^phi(E') = 1\nRank of S^phi'(E) = 1\n\nSearching
for points (bound = 8)...done:\n found points of rank 0\n and regulator
1\nProcessing points found during 2-descent...done:\n now regulator =
1\nSaturating (bound = 100)...done:\n points were already
saturated.\n\n\nRegulator = 1\n\nThe rank and full Mordell-Weil basis have
been determined unconditionally.\n (0.055625 seconds)"
}}}
(It would also be nice if those {{{\n}}}'s actually created a new line, as
I expect they are supposed to do, but that's another issue entirely.)
Again, I don't feel able to review the Python.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10108#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.