sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.36k stars 462 forks source link

Implement complex multiplication for points of CM elliptic curves #9977

Open 11d1fc49-71a1-44e1-869f-76be013245a0 opened 14 years ago

11d1fc49-71a1-44e1-869f-76be013245a0 commented 14 years ago

It would be great if we could do

sage: E = EllipticCurve([0,0,0,3,0]) # curve with CM by Q[I]
sage: (1 + I) * P([1,2])

This wouldn't be very hard for CM elliptic curves over QQ, since the necessary functionality is there in PARI's ellpow; see #6327. CM elliptic curves over number fields might be a bit harder.

CC: @jdemeyer @JohnCremona @yyyyx4

Component: elliptic curves

Keywords: CM elliptic curve

Issue created by migration from https://trac.sagemath.org/ticket/9977

JohnCremona commented 14 years ago
comment:1

Agreed! See also #7368.

jdemeyer commented 14 years ago
comment:2

If we can do Q, then we can do number fields simply by adapting the PARI code. I already have the proof-of-concept code for this.

I have an important mathematical question though: given an elliptic curve E, how can we see whether it has CM and if yes, for which discriminant?

jdemeyer commented 14 years ago

Changed keywords from CM to CM elliptic curve

fchapoton commented 11 years ago
comment:5

There are now methods has_cm and cm_discriminant available.

JohnCremona commented 11 years ago
comment:6

The new code for isogenies should make it easy to implement endomorphisms for CM curves. Then this sort of thing would be easy. So I would say that the next step should be to implement endomorphism rings, as structures which know they are rings and also know how to act on points.

JohnCremona commented 6 years ago
comment:10

Note that although some elliptic curves defined over Q are CM curves, the additional endomorphisms are not themselves defined over Q. One needs to distinguish, for an elliptic curve E defined over a field k, between End_k(E) (the ring of endomorphisms defined over k itself) and End(E) (the possibly larger ring of endomorphisms defined over an algebraic closure). In the case where char(k)=0 and E has CM by the order of discriminant D<0, the endomorphisms are defined over k(sqrt(D)) which may be a quadratic extension of k. This is always the case when k=Q.

In the original example, (1+I)*P will not be a rational point on the original curve.