Here's the problem.  For an elliptic curve defined over a ring, not a
field, the _point_class (which is the class used to hold its points)
is the class EllipticCurvePoint, but that class has almost no methods
at all defined for it, not even an __init__ method.  By contrast,  for
elliptic curves defined over fields the point class is
EllipticCurvePoint_field (or EllipticCurvePoint_finite_field, etc),
which all have a huge amount of functionality.

One could defined a new class called something like
EllipticCurvePoint_commutative_ring, and move most of the
functionality from the field class to the ring class, but that would
be a lot of work, and there would be a danger that the operations over
fields would be slowed down.  And one would have to decide how to deal
with the group law now only being partial (which I know can be done,
but I forget the details).

It would be a good student project to at least handle the case where
the base ring was of the form Integers(n), where the error message
produced by trying to invert a non-invertible constant would helpfully
tell you the factorization of the modulus.

John

On Apr 11, 5:17 am, Alec Mihailovs <alec.mihail...@gmail.com> wrote:
> On Apr 10, 8:27 pm, Robert Bradshaw <rober...@math.washington.edu>
> wrote:
>
> > This particular point however seems to have order 3 on both E(GF(67))  
> > and E(GF(89)).
>
> E=EllipticCurve([1,R(1)])
>
> seems to be working,
>
> 7*E([0,1])
>
> Traceback (click to the left of this block for traceback)
> ...
> ZeroDivisionError: Inverse of 5092 does not exist
>
> Alec

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

To unsubscribe, reply using "remove me" as the subject.

Reply via email to