It's fixed (patch posted to trac).  As suspected, it was a bug introduced in
the ell_rational_field refactoring.
David


On Nov 21, 2007 12:25 PM, William Stein <[EMAIL PROTECTED]> wrote:

>
> On Nov 20, 2007 1:40 PM, Paul Zimmermann <[EMAIL PROTECTED]> wrote:
> >        William,
> >
> > sage told me to report you, thus I do:
> [... see below]
>
> For the particular curve you're considering mwrank (via sage's rank
> command)
> can compute the rank -- which is what you want -- in 0.5 seconds, so maybe
> you can use .rank() instead?
>
> {{{id=24|
> e = EllipticCurve([0, 33076156654533652066609946884, 0,
> 347897536144342179642120321790729023127716119338758604800,
> 114112815436927429551902303280680424778815462104985764887003237028585178\
> 1352816640000])
> }}}
>
> {{{id=27|
> time e.rank()
> ///
> 1
> CPU time: 0.00 s,  Wall time: 0.46 s
> }}}
>
> That said, the fact that  e.torsion_order() fails is certainly a bug:
>
> {{{id=29|
> e.torsion_order()
> ///
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "/Users/was/sage_notebook/worksheets/admin/23/code/91.py", line
> 4, in <module>
> ...
>    self.__torsion_subgroup =
> rational_torsion.EllipticCurveTorsionSubgroup(self, flag)
>  File
> "/Users/was/s/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/rational_torsion.py",
> line 56, in __init__
>    self.__E.__pari_double_prec()
> AttributeError: 'EllipticCurve_rational_field' object has no attribute
> '_EllipticCurveTorsionSubgroup__pari_double_prec'
> }}}
>
> This is now trac #1237
>   http://trac.sagemath.org/sage_trac/ticket/1237
> and it probably won't be too hard to fix.  I suspect it was caused perhaps
> by David Roe's recent refactoring of the code for elliptic curve over QQ,
> but I couldn't be completely wrong.
>
>
> > sage: d = 919681/88529281
> > sage: _ = magma.eval('K := Rationals()')
> > sage: _ = magma.eval('P<x,y,z>:=ProjectiveSpace(K,2)')
> > sage: def rank(d):
> > ....:        s='f := (x^2+y^2)*z^2-z^4-('
> > ....:    s=''.join([s, repr(d), ')*x^2*y^2;'])
> > ....:    magma.eval(s)
> > ....:    magma.eval('C:=Curve(P,f);')
> > ....:    E = magma('EllipticCurve(C,C![0,1,1])')
> > ....:    l = E.aInvariants()
> > ....:    EE = EllipticCurve(map(Integer,l))
> > ....:    return EE.simon_two_descent()[0]
> > ....:
> > sage: rank(d)
> >
> ---------------------------------------------------------------------------
> > <type 'exceptions.AttributeError'>        Traceback (most recent call
> last)
> >
> > /home/zimmerma/<ipython console> in <module>()
> >
> > /home/zimmerma/<ipython console> in rank(d)
> >
> > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py
> in simon_two_descent(self, verbose, lim1, lim3, limtriv, maxprob,
> limbigprime)
> >     858             (8, 8)
> >     859         """
> > --> 860         if self.torsion_order() % 2 == 0:
> >     861             raise ArithmeticError, "curve must not have rational
> 2-torsion\nThe *only* reason for this is that I haven't finished
> implementing the wrapper\nin this case.  It wouldn't be too
> difficult.\nPerhaps you could do it?!  Email me ([EMAIL PROTECTED])."
> >     862         F = self.integral_weierstrass_model()
> >
> > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py
> in torsion_order(self)
> >    1743             return self.__torsion_order
> >    1744         except AttributeError:
> > -> 1745             self.__torsion_order = self.torsion_subgroup
> ().order()
> >    1746             return self.__torsion_order
> >    1747
> >
> > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py
> in torsion_subgroup(self, flag)
> >    1781             return self.__torsion_subgroup
> >    1782         except AttributeError:
> > -> 1783             self.__torsion_subgroup =
> rational_torsion.EllipticCurveTorsionSubgroup(self, flag)
> >    1784             return self.__torsion_subgroup
> >    1785
> >
> > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/rational_torsion.py
> in __init__(self, E, flag)
> >      54                 G = self.__E.pari_curve().elltors(flag)
> >      55             except RuntimeError:
> > ---> 56                 self.__E.__pari_double_prec()
> >      57         if G is None:
> >      58             raise RuntimeError, "Could not compute torsion
> subgroup"
> >
> > <type 'exceptions.AttributeError'>: 'EllipticCurve_rational_field'
> object has no attribute '_EllipticCurveTorsionSubgroup__pari_double_prec'
> >
> > Paul
> >
>
>
>
> --
> William Stein
> Associate Professor of Mathematics
> University of Washington
> http://wstein.org
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to