On Apr 10, 2010, at 5:08 PM, Kenneth A. Ribet wrote:

Hi,

I'd like to present Lenstra's elliptic curve factoring method to a class. This means that I'd like to define an elliptic curve over Integers(N), where N is composite, and then add points on that curve in sage. I may be doing something stupid, but I'm getting a NotImplementedError with the method I'm using:

sage: E=EllipticCurve([0,Mod(1,59)]); E
Elliptic Curve defined by y^2 = x^3 + 1 over Ring of integers modulo 59
sage: E([0,1])
(0 : 1 : 1)
sage: E=EllipticCurve([0,Mod(1,5963)]); E
Elliptic Curve defined by y^2 = x^3 + 1 over Ring of integers modulo 5963
sage: E([0,1])
Traceback (most recent call last):
...
NotImplementedError

Is there a workaround? Does an alternative approach allow the desired computations?


Much of Sage's elliptic curve functionality assumes that it is defined over a field, so you may have to pretend that your basering is a field, though I think the above should work. Try this:

sage: R = Integers(5963)
sage: R.is_field = lambda : True
sage: R.is_field()
True
sage: E = EllipticCurve([0, R(1)]); E
Elliptic Curve defined by y^2 = x^3 + 1 over Ring of integers modulo 5963
sage: E([0,1])
(0 : 1 : 1)

This particular point however seems to have order 3 on both E(GF(67)) and E(GF(89)).

- Robert

--
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 unsubscribe, reply using "remove me" as the subject.

Reply via email to