There is now a simple patch on the Sage trac server (see
http://trac.sagemath.org/sage_trac/ticket/1975) which allows the
following:

    sage: N = 1715761513
    sage: E = EllipticCurve(Integers(N),[3,-13])
    sage: P = E(2,1)
    sage: LCM([2..60])*P
    Traceback (most recent call last):
    ...
    ZeroDivisionError: Inverse of 1520944668 does not exist
(characteristic = 1715761513 = 26927*63719)

If other Sage developers like this it will soon become a standard
feature!

John Cremona

On May 4, 6:59 pm, John Cremona <john.crem...@gmail.com> wrote:
> The simplest workaround, I think, is to set
>
> E._point_class =
> sage.schemes.elliptic_curves.ell_field.EllipticCurve_finite_field
>
> after creating E and before attempting to create points.
>
> Example:
>
> sage: E6 = EllipticCurve(Integers(6),[0,0,1,-1,0])
> sage: E6._point_class =
> sage.schemes.elliptic_curves.ell_point.EllipticCurvePoint_finite_field
> sage: P = E6(0,-1)
> sage: P
> (0 : 5 : 1)
> sage: 2*P
> (1 : 5 : 1)
> sage: 3*P
> (5 : 0 : 1)
> sage: 4*P
> (2 : 2 : 1)
> sage: 5*P
>
> boom!  but helpfully:
>
> ZeroDivisionError: Inverse of 4 does not exist
>
> enabling one to find a factorization of 6.
>
> For a less trivial example (Taken from my own lecture notes):
>
> sage: N = 1715761513
> sage: E = EllipticCurve(Integers(N),[3,-13])
> sage: E._point_class =
> sage.schemes.elliptic_curves.ell_point.EllipticCurvePoint_finite_field
> sage: P = E(2,1)
> sage: m = LCM([2..100])
> sage: m*P
> ...
> ZeroDivisionError: Inverse of 1317188059 does not exist
> sage: gcd(1317188059, N)
> 26927
> sage: N.factor()
> 26927 * 63719
>
> John
>
> On May 4, 8:59 am, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
>
>
>
>
>
> > On 2010-05-03 16:46, Mike Hansen wrote:
>
> > > Hello,
>
> > > On Mon, May 3, 2010 at 1:34 AM, Jeroen Demeyer <jdeme...@cage.ugent.be> 
> > > wrote:
> > >> I wonder if there is a way to make Sage compute with points on elliptic
> > >> curves over rings which are not fields.  I would like to use it for a
> > >> very simple implementation of the ECM factoring algorithm for
> > >> educational purposes.  The obvious doesn't work:
>
> > > There is a workaround.  Please see:
> > >http://www.mail-archive.com/sage-support@googlegroups.com/msg18282.html
>
> > Thanks a lot for the pointer!
> > Jeroen.
>
> > --
> > 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 
> > athttp://groups.google.com/group/sage-support
> > URL:http://www.sagemath.org
>
> --
> 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 
> athttp://groups.google.com/group/sage-support
> URL:http://www.sagemath.org

-- 
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