Supersingular Curves#

IsSupersingular(E : parameters): CrvEll -> BoolElt#
Proof: BoolElt                    Default: true

Given an elliptic curve \(E\) over a finite field, this function returns false if \(E\) is ordinary, otherwise proves that \(E\) is supersingular and returns true. If the parameter Proof is set to false then the effect of the function is the same as that of IsProbablySupersingular.

SupersingularPolynomial(p): RngIntElt -> RngUPolElt#

Given a prime \(p\), returns the separable monic polynomial over \({\mathbb{F}}_p\) whose roots are precisely the \(j\) invariants of supersingular elliptic curves in characteristic \(p\). The polynomial is computed by a formula; ignoring factors corresponding to \(j=0\) or 1728, it is the partial power-series expansion of a certain hypergeometric function reduced mod \(p\). For \(p\) of moderate size this is a very fast method.

IsOrdinary(E): CrvEll -> BoolElt#

Given an elliptic curve \(E\) over a finite field, this function returns true if the elliptic curve \(E\) is ordinary, otherwise false (i.e., if it is supersingular). Thus, this function is the logical negation of IsSupersingular.

IsProbablySupersingular(E): CrvEll -> BoolElt#

Given an elliptic curve \(E\) over a finite field, this function returns returns false if the elliptic curve \(E\) is proved to be ordinary, otherwise true. The algorithm is nondeterministic and repeated tests are independent.