Testing this with 2^31 replaced by 2^30 revealed a serious efficiency
bug which has been fixed now (trac #2659), which might make it into
2.11.  If you try your example (with 2^30 in place of 2^31) you will
find that the abelian_group() command takes a very long time,
similarly computing orders of points, but after the fix those both
work very quickly.

John Cremona

On 21 Mar, 18:44, "William Stein" <[EMAIL PROTECTED]> wrote:
> On Fri, Mar 21, 2008 at 9:44 AM, seventeener <[EMAIL PROTECTED]> wrote:
>
> >  Hello, I'm using v.2.10.3 on a 32-bit machine under VMware. I'm unable
> >  to define an elliptic curve over a non-prime finite field of
> >  characteristic longer than 31 bit:
>
> >  EllipticCurve(GF(next_prime(2^31)^2,'x'),[1,1])
>
> >  Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> >   File "/home/notebook/sage_notebook/worksheets/admin/12/code/10.py",
> >  line 6, in <module>
> >     EllipticCurve(GF(next_prime(Integer(2)**Integer(31))**Integer(2),
> >  \u0027x\u0027),[Integer(1),Integer(1)])
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sympy/
> >  plotting/", line 1, in <module>
>
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/schemes/
> >  elliptic_curves/constructor.py", line 115, in EllipticCurve
> >     return ell_finite_field.EllipticCurve_finite_field(x, y)
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/schemes/
> >  elliptic_curves/ell_finite_field.py", line 75, in __init__
> >     EllipticCurve_field.__init__(self, ainvs)
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/schemes/
> >  elliptic_curves/ell_generic.py", line 145, in __init__
> >     x, y, z = PP.coordinate_ring().gens()
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/schemes/
> >  generic/projective_space.py", line 190, in coordinate_ring
> >     self.variable_names(), self.dimension()+1)
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/rings/
> >  polynomial/polynomial_ring_constructor.py", line 248, in
> >  PolynomialRing
> >     R = _multi_variate(base_ring, names, n, sparse, order)
> >   File "/usr/local/sage/local/lib/python2.5/site-packages/sage/rings/
> >  polynomial/polynomial_ring_constructor.py", line 369, in
> >  _multi_variate
> >     R = MPolynomialRing_libsingular(base_ring, n, names, order)
> >   File "multi_polynomial_libsingular.pyx", line 235, in
> >  
> > sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular.__init__
> >  OverflowError: long int too large to convert to int
>
> The problem lies here:
>
> sage: k = GF(next_prime(2^31)^2,'x')
> sage: k['y,z']
> Traceback (most recent call last):
> ...
> OverflowError: long int too large to convert to int
> sage: PolynomialRing(k,2,'x,y')
> Traceback (most recent call last):
> ...
> OverflowError: long int too large to convert to int
>
> This is caused because Sage is trying to use libsingular
> to create the poly ring, but should be using its own code
> when the size of the base ring is too big.
>
> Martin Albrecht will be able to fix this very easily.  I've made
> a trac ticket:
>
> http://trac.sagemath.org/sage_trac/ticket/2634
>
> William
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@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-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to