Changes between Initial Version and Version 1 of Ticket #25477, comment 57


Ignore:
Timestamp:
06/06/18 10:27:08 (4 years ago)
Author:
dimpase
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #25477, comment 57

    initial v1  
    11Replying to [comment:56 stumpc5]:
    2 > > i.e. that mul call on permutations in __iter_alt__, is it actually in (lib)GAP?
    3 >
    4 > No, this is pure cython and uses {{{PermutationGroupElement._mul_(left, _right)}}}, no (lib)GAP involved here.
    5 >
    6 > Since both algorithms are the same, and the strong generating set in the Sage version is taken through libGAP, I suspect that the time advantage of Sage really comes from this superfast cython multiplication of permutation group elements.
    72>
    83> > I thought that libgap has a fast method to convert GAP permutations to Sage
     
    138Cause that's what it does, you provide a better implementation for `<libgap perm>.sage()`, right?
    149
    15 
    16 > {{{
    17 > sage: P = PermutationGroup([(1,2),(1,2,3,4)])
    18 > sage: one = P.one()
    19 > sage: %timeit P([4,3,2,1])
    20 > 1000 loops, best of 3: 607 µs per loop
    21 > sage: %timeit one._generate_new([4,3,2,1])
    22 > The slowest run took 24.71 times longer than the fastest. This could mean that an intermediate result is being cached.
    23 > 1000000 loops, best of 3: 444 ns per loop
    24 > }}}