You are right of course -- one should always compute the order over
the smallest field of definition and then use the easy formula to get
the order of E(GF(q^d)) from that of E(GF(q)).

While you are at it you should not stop at the smallest field
containing the coefficients of the given curve, it would be enough to
work over the field containing the j-invariant, plus a little work
deciding which twist your need and all this is as usual a little more
complicated when j=0 or j=1728, or in characteristics 2 and 3.

This feels like reinventing wheels -- i wonder who has done this already?

As for implementation, it is *extremely* ugly to work with floating
point complex numbers for this (as both Graeme and Alex seem to do.
It should be done algebraically!

If n = #E(GF(q)) then a=1+q-n is the trace of alpha =
(a+sqrt(a^2-4*q))/2, and then #E(GF(q^d)) = 1+q^d-trace(alpha^d).  The
trace of the d'th power of alpha is just a resultant calculation.

John

On 06/11/2007, Martin Albrecht <[EMAIL PROTECTED]> wrote:
>
> I stumbled over #262
>
>   http://trac.sagemath.org/sage_trac/ticket/262
>
> again. Here Graeme Taylor proposes his implementation of point counting of
> elliptic curves over GF(p^n) with coefficients in GF(p) in Weierstrass form.
>
> He describes the background at:
>
>   http://maths.straylight.co.uk/archives/69
>
> . This was turned down because a patch by Alex Ghitza
>
>   http://www.sagemath.org/hg/sage-main/rev/57bc9076e61a
>
> implements the same functionality. I can see that this implements the same
> functionality but I find the interface rather complicated: The user is
> required to construct the curve over the prime subfield and ask for the
> cardinality over a higher degree extension via an optional
> parameter 'degree'. E.g.
>
> sage: k.<a> = GF(7^10)
> sage: E = EllipticCurve(k,[5,2])
> sage: E2 = EllipticCurve(k.base_ring(), E.a_invariants()) # down
> sage: E2.cardinality(10) # and up again
> 282464343
>
> I wonder why not just compute the cardinality using this method by default if
> all coefficients lie in the prime subfield? Is this optional 'degree'
> parameter really necessary?
>
> Just curious,
> Martin
>
> --
> name: Martin Albrecht
> _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> _www: http://www.informatik.uni-bremen.de/~malb
> _jab: [EMAIL PROTECTED]
>
>
> >
>


-- 
John Cremona

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to