If I have two elliptic curves over a number field, then Sage seems to know 
how to test if they are isogenous, and find the minimal degree of an 
isogeny between them; but is there any way of computing the actual isogeny?

Here's an example (the Q-curve 45.1-a1 over Q(sqrt(5)) and its Galois 
conjugate):

sage: K.<a> = NumberField(R([-1, -1, 1]))
sage: E = 
EllipticCurve([K([0,1]),K([1,1]),K([1,0]),K([-7739,-4364]),K([-296465,-255406])])
sage: si = K.Hom(K).list()[-1]
sage: E2 = E.base_extend(si)
sage: E.is_isogenous(E2)
True
sage: E.isogeny_degree(E2)
4

There is a method "E.isogeny(...)" but it wants an explicit kernel. The 
docstring says that the kernel will be computed automatically if I specify 
"kernel=None", but that seems to result in an error:

sage: E.isogeny(kernel=None, codomain=E2, degree=4)
[...]
ValueError: The two curves are not linked by a cyclic normalized isogeny of 
degree 4

I'm not sure what "normalized" means here, but there is definitely a cyclic 
degree 4 isogeny from E to E2. What do I need to do to persuade Sage to 
find it?

Regards, David

-- 
You received this message because you are subscribed to the Google Groups 
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-nt/8ebce2b8-316c-4765-8236-e729f7b67b8dn%40googlegroups.com.

Reply via email to