ASKSAGE: Sage Q&A Forum - Individual question feedhttp://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Fri, 04 Mar 2016 23:24:10 -0600Elliptic curve isogenies: kernel polynomial not monichttp://ask.sagemath.org/question/32717/elliptic-curve-isogenies-kernel-polynomial-not-monic/Hello, I was trying to follow the example [here](http://doc.sagemath.org/html/en/reference/plane_curves/sage/schemes/elliptic_curves/ell_curve_isogeny.html) to create a kernel equal to the full 2 torsion. But I ran into the problem of not having a monic kernel polynomial. This is what I have
sage: p = 22031
sage: K = GF(p)
sage: F.<z> = K[]
sage: L = GF(p^2,'a',modulus=z^2+2); a = L.gen()
sage: E = EllipticCurve(K,[6486*a+8098, 12871*a+17004])
sage: ker_list = E_B.division_polynomial(2).list()
sage: phi = EllipticCurveIsogeny(E, ker_list); phi
ValueError: The kernel polynomial must be monic.
I've tried to salvage the situation by feeding the list of 2-torsion points into the function, but I do not get the same isogeny.
sage: E = EllipticCurve(GF(3), [0,0,0,1,1])
sage: ker_list = E.division_polynomial(2).list()
sage: phi = EllipticCurveIsogeny(E, ker_list)
sage: print phi
Isogeny of degree 4 from Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3 to Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3
sage: ETwoTors = E(0).division_points(2)
sage: phi = EllipticCurveIsogeny(E, ETwoTors)
sage: print phi
Isogeny of degree 2 from Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3 to Elliptic Curve defined by y^2 = x^3 + 2*x over Finite Field of size 3
What I am really after is to let $\phi$ be the multiplication by 2 endomorphism.Fri, 04 Mar 2016 21:01:46 -0600http://ask.sagemath.org/question/32717/elliptic-curve-isogenies-kernel-polynomial-not-monic/Answer by nbruin for <p>Hello, I was trying to follow the example <a href="http://doc.sagemath.org/html/en/reference/plane_curves/sage/schemes/elliptic_curves/ell_curve_isogeny.html">here</a> to create a kernel equal to the full 2 torsion. But I ran into the problem of not having a monic kernel polynomial. This is what I have</p>
<pre><code>sage: p = 22031
sage: K = GF(p)
sage: F.<z> = K[]
sage: L = GF(p^2,'a',modulus=z^2+2); a = L.gen()
sage: E = EllipticCurve(K,[6486*a+8098, 12871*a+17004])
sage: ker_list = E_B.division_polynomial(2).list()
sage: phi = EllipticCurveIsogeny(E, ker_list); phi
ValueError: The kernel polynomial must be monic.
</code></pre>
<p>I've tried to salvage the situation by feeding the list of 2-torsion points into the function, but I do not get the same isogeny.</p>
<pre><code>sage: E = EllipticCurve(GF(3), [0,0,0,1,1])
sage: ker_list = E.division_polynomial(2).list()
sage: phi = EllipticCurveIsogeny(E, ker_list)
sage: print phi
Isogeny of degree 4 from Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3 to Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3
sage: ETwoTors = E(0).division_points(2)
sage: phi = EllipticCurveIsogeny(E, ETwoTors)
sage: print phi
Isogeny of degree 2 from Elliptic Curve defined by y^2 = x^3 + x + 1 over Finite Field of size 3 to Elliptic Curve defined by y^2 = x^3 + 2*x over Finite Field of size 3
</code></pre>
<p>What I am really after is to let $\phi$ be the multiplication by 2 endomorphism.</p>
http://ask.sagemath.org/question/32717/elliptic-curve-isogenies-kernel-polynomial-not-monic/?answer=32719#post-id-32719I think this does approximately what you want:
sage: E = EllipticCurve(GF(11), [0,0,0,1,1])
sage: P = E.division_polynomial(2)
sage: phi = EllipticCurveIsogeny(E,P/P.leading_coefficient(),codomain=E)
sage: {2*u+phi(u) for u in E.points()}
{(0 : 1 : 0)}
Note that this apparently happens to construct the multiplication-by-(-2) map, which has the same kernel. To get the multiplication-by-2 isogeny reliably, perhaps use
sage: E.multiplication_by_m_isogeny(2)
Fri, 04 Mar 2016 23:24:10 -0600http://ask.sagemath.org/question/32717/elliptic-curve-isogenies-kernel-polynomial-not-monic/?answer=32719#post-id-32719