improve point counting for curvers over extension fields
|Reported by:||malb||Owned by:||was|
|Report Upstream:||Work issues:|
John Cremona wrote
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.
Change History (9)
Changed 6 years ago by gmoose05
comment:2 follow-up: ↓ 5 Changed 6 years ago by gmoose05
- Milestone changed from sage-feature to sage-2.10.2
comment:3 Changed 6 years ago by robertwb
- Summary changed from improve point counting for curvers over extension fields to [with positive review] improve point counting for curvers over extension fields
comment:6 Changed 6 years ago by mabshoff
- Summary changed from [with positive review] improve point counting for curvers over extension fields to improve point counting for curvers over extension fields
Note: See TracTickets for help on using tickets.