Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Elliptic curve isogenies: kernel polynomial not monic

Hello, I was trying to follow the example [here] 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.

(http://doc.sagemath.org/html/en/reference/plane_curves/sage/schemes/elliptic_curves/ell_curve_isogeny.html)

Elliptic curve isogenies: kernel polynomial not monic

Hello, I was trying to follow the example [here] here 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.

(http://doc.sagemath.org/html/en/reference/plane_curves/sage/schemes/elliptic_curves/ell_curve_isogeny.html)