The torsion or division polynomials are the polynomials or functions defining the subschemes of n-torsion points on the elliptic curve. The affine equation order of the function field is the natural home of the torsion polynomials. In order to obtain the division polynomial as a univariate polynomial, the syntax DivisionPolynomial is used; to obtain the same as a function on the curve, the syntax DivisionFunction is used.
The function field of the elliptic curve.
The homogeneous defining polynomial for the elliptic curve E.
The n-th division polynomial as an element of the affine equation order of the function field of E.
Given an elliptic curve E and an integer n, returns the n-th division polynomial as a univariate polynomial over the base ring of E. If n is even, this polynomial has multiplicity two at the nonzero 2-torsion points of the curve. The second return value is the n-th division polynomial, divided by the univariate 2-torsion polynomial if n is even. The third argument is the cofactor, equal to the univariate 2-torsion polynomial if n is even, and 1 otherwise.If a polynomial is passed as a third argument, the division polynomial is computed efficiently modulo that polynomial.
Returns the multivariate 2-torsion polynomial 2y + a_1x + a_3, as a bivariate polynomial.
> K := GF(101); > E := EllipticCurve([ K | 1, 1]); > Roots(DivisionPolynomial(E, 5)); [ <86, 1>, <46, 1> ] > [ P : P in RationalPoints(E) | 5*P eq E!0 ]; [ (86 : 34 : 1), (0 : 1 : 0), (46 : 25 : 1), (86 : 67 : 1), (46 : 76 : 1) ]A point worth noting is that even if the roots of the division polynomial lie in the field, the corresponding points may not, instead lying in a quadratic extension.
> Roots(DivisionPolynomial(E, 9)); [ <4, 1>, <17, 1>, <28, 1>, <34, 1>, <77, 1> ] > Points(E, 4); [] > K2<w> := ext<K | 2>; > Points(E(K2), 4); [ (4 : 82*w + 57 : 1), (4 : 19*w + 44 : 1) ] > Order($1[1]); 9