#4900: [with new patch, needs review] New BSGS point counting on elliptic curves
over finite fields
-------------------------------------------+--------------------------------
 Reporter:  cremona                        |        Owner:  was     
     Type:  enhancement                    |       Status:  new     
 Priority:  minor                          |    Milestone:  sage-3.4
Component:  number theory                  |   Resolution:          
 Keywords:  elliptic curves finite fields  |  
-------------------------------------------+--------------------------------
Changes (by cremona):

  * summary:  [with patch, not ready for review] New BSGS point counting on
              elliptic curves over finite fields => [with new
              patch, needs review] New BSGS point counting on
              elliptic curves over finite fields

Comment:

 The new patch replaces the old.  It is based on 3.2.3+#4926 which means
 that both the files touched (ell_generic.py and ell_finite_field.py) are
 fully sphinxified.  It does the following:
    1. Implements the new point-counting algorithm much as before.
    2. Adds a preliminary computation of l-power torsion for l in [2,3,5]
 (depending on the size q of the field) which (when non-trivial) helps the
 bsgs routine for finding the order of random points.  This part revealed a
 bad bug in _p_primary_torsion() which was posted at #4937, but note
 that...
    3. The bug in #4937 is fixed here.
    4. Following malb's comments I have separated out functions
 cardinality_sea() and cardinality_pari() to be separate functions, as is
 cardinality_bsgs().  None of these caches the result.  The main functions
 cardinality(), which has the algorithm parameter ('heuristic' by default)
 does cache.  The 'all' option still does not work as advertised because of
 the caching (but then it never did).  I think it should be done away with
 since testing should be done independently using the cardinality_*()
 functions directly.  The old cardinality_from_group() function is now
 redundant and has been deleted (please don't ask me to deprecate it!)
    5. The abelian_group() function is now cleaner and simpler since in all
 cases the group order is known at the start.

 So I have broken some rules by having this patch deal with #4937 too;  by
 the time I realised, it was too late to separate the two.  As a
 consolation I'll add a patch at #4937, based on this one, which adds the
 doctest which (as usual) I forgot.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4900#comment:6>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to