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.
