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.