#10976: computing order of a certain subgroup of a permutation group is double 
dog
slow (compared to Magma)
----------------------------+-----------------------------------------------
   Reporter:  was           |          Owner:  swenson 
       Type:  enhancement   |         Status:  new     
   Priority:  major         |      Milestone:  sage-5.0
  Component:  group theory  |       Keywords:  sd32    
Work_issues:                |       Upstream:  N/A     
   Reviewer:                |         Author:          
     Merged:                |   Dependencies:          
----------------------------+-----------------------------------------------
Changes (by swenson):

  * owner:  joyner => swenson


Comment:

 I have a workaround I am testing for this (patch coming soon) that
 recognizes some subgroups of permutation groups (including stabilizer
 subgroups of the symmetric group), and can compute the order very quickly
 (~600 microseconds).  The running time of foo(200) above is still about a
 second, because GAP takes that long to construct the stabilizer group and
 give us back the generators.

 In the future, I can add some more cases, or try to develop a more general
 theory for quickly computing these group orders (the special case I added
 is based on a argument from graph theory).

 {{{
 sage: def foo(n):
 ....:     G = SymmetricGroup(n)
 ....:     H = G.stabilizer(n//2)
 ....:     return H.order()
 ....:
 sage: %timeit foo(200)
 5 loops, best of 3: 935 ms per loop
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10976#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
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