Revision history [back]

I think this does approximately what you want:

sage: E = EllipticCurve(GF(11), [0,0,0,1,1])
sage: P = E.division_polynomial(2)
sage: [2*u+phi(u) for u in E.points()]
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.

I think this does approximately what you want:

sage: E = EllipticCurve(GF(11), [0,0,0,1,1])
sage: P = E.division_polynomial(2)
sage: [2*u+phi(u) for u in E.points()]
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.

I think this does approximately what you want:

sage: E = EllipticCurve(GF(11), [0,0,0,1,1])
sage: P = E.division_polynomial(2)

sage: E.multiplication_by_m_isogeny(2)