Dear John (please forgive my use of your first name, I should use your
proper title but I don't know it)
Thank you very much for taking the time to write that letter. I certainly
did not mean to complain! I am
very grateful to you for writing mwrank and making it available to us all!
I did not mean to imply that the
output was "cryptic". I am not an expert on elliptic curves nor am I an
expert on Sage. Thank you also
for showing me the proper way to interrogate Sage about an elliptic curve.
The function E.rank() is indeed
mentioned in the Sage Tutorial, p. 30, but not E.torsion_subgroup().
That said, the output I receive from mwrank is not the output you quote in
your email. There is probably some
mundane reason for that, but as the author, you might want to investigate
why. Below I've pasted in what I got one minute ago
(and also before of course) on Mac OSX with Sage version 4.8. You can
see it's not quite as nice as what you quoted.
Again, I'm not complaining about the output. I'm just reporting that it's
not, on my machine, what it apparently is on your machine.
The words "found points of rank 0" were the ones I did not understand,
and I still don't understand, probably because I know only the
very basics about elliptic curves, but I only know what "rank" means when
applied to the MW group, not when applied to a point, so
that is what confused me. I note that the output you quote doesn't
contain that phrase. I'm sorry to have taken so much of your time
with an essentially trivial question--you certainly don't need to reply
with any further explanation. I have understood very clearly what
mwrank is telling me, thanks to your first letter.
Michael Beeson
sage: E=EllipticCurve([0,40,0,300,0]);
sage: E
Elliptic Curve defined by y^2 = x^3 + 40*x^2 + 300*x over Rational Field
sage: E.mwrank
<bound method EllipticCurve_rational_field.mwrank of Elliptic Curve defined
by y^2 = x^3 + 40*x^2 + 300*x over Rational Field>
sage: E.mwrank()
"Curve [0,40,0,300,0] : Working with minimal curve [0,1,0,-233,663] via
[u,r,s,t] = [1,-13,0,0]\n\n3 points of order 2:\n[-17:0:1], [3:0:1],
[13:0:1]\n\n****************************\n* Using 2-isogeny number 1
*\n****************************\n\nUsing 2-isogenous curve [0,100,0,100,0]
(minimal model
[0,1,0,-3233,69663])\n-------------------------------------------------------\nFirst
step, determining 1st descent Selmer
groups\n-------------------------------------------------------\nAfter
first local descent, rank bound = 0\nrk(S^{phi}(E'))= 2\nrk(S^{phi'}(E))=
0\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)))= 2\nrk(phi(S^{2}(E')))= 0\nrk(S^{2}(E))=
2\nrk(S^{2}(E'))= 1\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)
=(-50,600)\n(c',d')=(100,100)\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) = 4\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,1,0,-3233,69663]\nRank = 0\nRank of S^2(E) = 2\nRank of S^2(E') =
1\nRank of S^phi(E') = 2\nRank of S^phi'(E) = 0\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.092342 seconds)"
sage:
On Thu, May 24, 2012 at 5:13 AM, John Cremona <[email protected]>wrote:
> Hello, I'm the author of mwrank. Maybe I am biased, but is the output
> really so cryptic? You quote one phrase from the output which ends
>
> Summary of results:
> -------------------------------------------------------
>
> rank(E) = 0
> #E(Q)/2E(Q) = 4
>
> Information on III(E/Q):
>
> #III(E/Q)[phi'] = 1
> #III(E/Q)[2] = 1
>
> Information on III(E'/Q):
> #phi'(III(E/Q)[2]) = 1
> #III(E'/Q)[phi] = 1
>
> #III(E'/Q)[2] = 1
>
>
> Used descent via 2-isogeny with isogenous curve E' = [0,1,0,-3233,69663]
> Rank = 0
> Rank of S^2(E) = 2
> Rank of S^2(E') = 1
> Rank of S^phi(E') = 2
> Rank of S^phi'(E) = 0
>
> Searching for points (bound = 8)...done:
> found points of rank 0
> and regulator 1
>
> Processing points found during
> 2-descent...done:
> now regulator = 1
>
> Saturating (bound = 100)...done: points were already saturated.
>
>
> Regulator = 1
>
> The rank and full Mordell-Weil basis have been determined unconditionally.
> ----
>
>
> What that means is that (1) a 2-descent was carried out which proved that
> the rank was 0, (2) a step which is admittedly redundant was then done to
> search for points, which not surprisingly found no points of inifinite
> order, i.e. the rank of the subgroup generated by the points found is 0
> (which is the small part which you quoted), (3) another step also redundant
> in rank 0 cases, to saturate the points found.
>
> mwrank does not itself determine the torsion subgroup; You can get that
> from Sage via
> sage: E.torsion_subgroup()
> Torsion Subgroup isomorphic to Z/2 + Z/2 associated to the Elliptic Curve
> defined by y^2 = x^3 + 40*x^2 + 300*x over Rational Field
> sage: E.torsion_points()
> [(-30 : 0 : 1), (-10 : 0 : 1), (0 : 0 : 1), (0 : 1 : 0)]
>
> Having said that, if you know what 2-descent is and look at the earlier
> part of the mwrank output (which I omitted above) you can see that the full
> rational 2-torsion was detected, and used.
>
> It would be possible to make mwrank report on the torsion subgroup and
> give generators for that, since my library (eclib) has that capability.
> But I think that few Sage users call mwrank directly in this way, unless
> they have fond memories of running the stand-alone mwrank program from
> years back. If I wanted to know the full group of that curve I would do
> this:
>
>
> sage: E = EllipticCurve([0,40,0,300,0])
> sage: E.rank()
> 0
> sage: E.gens() # redundant, as this means generators of infinite order
> []
> sage: E.torsion_subgroup()
> Torsion Subgroup isomorphic to Z/2 + Z/2 associated to the Elliptic Curve
> defined by y^2 = x^3 + 40*x^2 + 300*x over Rational Field
> sage: E.torsion_order()
> 4
> sage: E.torsion_points()
> [(-30 : 0 : 1), (-10 : 0 : 1), (0 : 0 : 1), (0 : 1 : 0)]
>
> Now I'll sit back and wait for someone to ask for E.torsion_generators(),
> to which the answer is -- there is no such function but there are these:
>
> sage: E.torsion_subgroup().gens()
> ((-10 : 0 : 1), (0 : 0 : 1))
> sage: E.torsion_subgroup().smith_form_gens()
> ((0 : 0 : 1), (-10 : 0 : 1))
>
> where the point of the second one (I don't know why it is not the default)
> is that the orders of the generators listed (when the group is not cyclic)
> are thevalues of
> sage: E.torsion_subgroup().invariants()
> (2, 2)
>
> which you already saw in the output from E.torsion_subgroup(). Of course
> in this case they are both 2, but for structures 2x4, 2x6, 2x8 it makes a
> difference.
>
> John Cremona
>
>
>
> On Wednesday, May 23, 2012 2:18:10 AM UTC+1, Michael Beeson wrote:
>>
>> E = EllipticCurve([sage: E = EllipticCurve([0,40,0,300,0])
>> sage: E.mwrank()
>>
>>
>> Then mwrank reports that the rank is 0, which is good, but it also has a
>> cryptic remark that "points of rank 0 were found". I
>> independently wrote a short C program that uses the Nagel-Lutz theorem to
>> verify there are no points of finite order on this curve,
>> but of course, I might have made a mistake. What does mwrank mean by
>> that remark, "points of rank 0 were found."?
>>
>>
>> --
> 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-support
> URL: http://www.sagemath.org
>
--
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-support
URL: http://www.sagemath.org