Hi list,

I have noticed that D. Simon's algebraic 2-descent does not
work properly for some elliptic curves defined over real quadratic
fields. So I'd like to forward his message to this list.

I think that this defect seems similar to those reported in ticket #9322, #8829,
but I'm not a specialist in these topics, am greatly appreciate your help.

best regards.


---------- Forwarded message ----------
From:  <s-yokoy...@math.kyushu-u.ac.jp>
Date: 2011/1/5
To: Iwao Kimura <i...@sci.u-toyama.ac.jp>


Bug-report: Simon's two-descent alg.

this algorithm does return bounds on the rank of
Mordell-Weil group, and a list of independent points.
So I want to compute when K=QQ(sqrt(43)) : real quad.
However, it doesn't work (nor on Sage Notebook).

> Q43.<a>=QuadraticField(43);
> eps = UnitGroup(Q43).fundamental_units()[0];
> E = EllipticCurve(Q43, [0, 1728*eps]);
> dscnt = E.simon_two_descent(verbose=1); dscnt

::

courbe elliptique : Y^2 = x^3 + Mod(917568*y - 6016896, y^2 - 43)

[ omitted ]

 ***   array index (1) out of allowed range [none]:
 ***   ...iv,r=nfsqrt(nf,norm(zc))[1];if(DEBUGLEVEL_ell
                                   ^--------------------
------------------------------------------------------------------------
---
NameError                                 Traceback (most recent call
last)

/Users/yokoemon/<ipython console> in <module>()

/Applications/sage/local/lib/python2.6/site-packages/sage/schemes/
elliptic_curves/ell_number_field.pyc in simon_two_descent(self, verbose,
lim1, lim3, limtriv, maxprob, limbigprime)
   196         t = simon_two_descent(self,
   197                               verbose=verbose, lim1=lim1, lim3=
lim3, limtriv=limtriv,
--> 198                               maxprob=maxprob, limbigprime=
limbigprime)
   199         prob_rank = Integer(t[0])
   200         two_selmer_rank = Integer(t[1])

/Applications/sage/local/lib/python2.6/site-packages/sage/schemes/
elliptic_curves/gp_simon.pyc in simon_two_descent(E, verbose, lim1, lim3,
 limtriv, maxprob, limbigprime)
   110     def _gp_mod(*args):
   111         return args[0]
--> 112     ans = sage_eval(v, {'Mod': _gp_mod, 'y': K.gen(0)})
   113     inv_transform = F.isomorphism_to(E)
   114     ans[2] = [inv_transform(F(P)) for P in ans[2]]

/Applications/sage/local/lib/python2.6/site-packages/sage/misc/sage_eval.
pyc in sage_eval(source, locals, cmds, preparse)
   197         return locals['_sage_eval_returnval_']
   198     else:
--> 199         return eval(source, sage.all.__dict__, locals)
   200
   201

/Applications/sage/local/lib/python2.6/site-packages/sage/all.pyc in <
module>()
NameError: name 'ans' is not defined

::

if K=QQ(sqrt(41)), it works well.

> Q41.<a>=QuadraticField(41);
> eps = UnitGroup(Q41).fundamental_units()[0];
> E = EllipticCurve(Q41, [0, 1728*eps]);
> dscnt = E.simon_two_descent(verbose=1); dscnt

courbe elliptique : Y^2 = x^3 + Mod(8640*y + 55296, y^2 - 41)
points triviaux sur la courbe = [[1, 1, 0]]
 point trouve = [Mod(-377788/93025*y - 1952448/93025, y^2 - 41),
Mod(-205379776/28372625*y - 1032512096/28372625, y^2 - 41)]
#S(E/K)[2]    = 4
#E(K)/2E(K)  >= 2
#III(E/K)[2] <= 2
rang(E/K)    >= 1
 III devrait etre un carre, donc
#E(K)/2E(K)  = 4
#III(E/K)[2] = 1
rang(E/K)    = 2
listpointsmwr = [[Mod(-377788/93025*y - 1952448/93025, y^2 - 41),
Mod(-205379776/28372625*y - 1032512096/28372625, y^2 - 41)]]
(2, 2, [(-377788/93025*a - 1952448/93025 : -205379776/28372625*a -
1032512096/28372625 : 1)])

If someone have any comments,
would you mind telling me about the problem??

Best wishes,

Shun'ichi Yokoyama
Faculty of Mathematics, Kyushu University, Japan
s-yokoy...@math.kyushu-u.ac.jp






-- 
---
Iwao KIMURA
Dept. Math. University of Toyama, Japan.

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to