Function: ellorder
Section: elliptic_curves
C-Name: ellorder
Prototype: GGDG
Help: ellorder(E,z,{o}): order of the point z on the elliptic curve E over Q
 or a finite field, 0 if non-torsion. The parameter o, if present,
 represents a non-zero multiple of the order of z
 (mandatory over non-prime finite fields).
Doc:
 gives the order of the point $z$ on the elliptic
 curve $E$. If the curve is defined over $\Q$, return zero if the point has
 infinite order. The parameter $o$, if present, represents a non-zero
 multiple of the order of $z$, see \secref{se:DLfun}; the preferred format for
 this parameter is \kbd{[ord, factor(ord)]}, where \kbd{ord} is the
 cardinality of the curve.

 For a curve defined over $\F_p$, it is very important to supply $o$ since
 its computation is very expensive and should only be done once, using
 \bprog
 ? N = p+1-ellap(E,p); o = [N, factor(N)];
 @eprog\noindent possibly using the \tet{seadata} package; for a curve defined
 over a non-prime finite field,
 giving the order is \emph{mandatory} since no function is available yet to
 compute the cardinality or trace of Frobenius in that case.
Variant: The obsolete form \fun{GEN}{orderell}{GEN e, GEN z} should no longer be
 used.
