#14775: Symmetric functions: Kronecker product over any ring; Kronecker 
coproduct;
antipode over any ring; forgotten basis over any ring; Witt basis;
Frobenius and Verschiebung; doc fixes
---------------------------------------------------------------------------+
       Reporter:  darij                                                    |    
     Owner:  sage-combinat
           Type:  enhancement                                              |    
    Status:  needs_review 
       Priority:  major                                                    |    
 Milestone:  sage-5.11    
      Component:  combinatorics                                            |    
Resolution:               
       Keywords:  symmetric function, combinat, kronecker product, days49  |   
Work issues:               
Report Upstream:  N/A                                                      |    
 Reviewers:               
        Authors:  Darij Grinberg                                           |    
 Merged in:               
   Dependencies:                                                           |    
  Stopgaps:               
---------------------------------------------------------------------------+
Changes (by darij):

 * cc: mhansen (added)


Comment:

 Here's one:

 {{{
 sage: Sym = SymmetricFunctions(QQ)
 sage: Sym.inject_shorthands()
 /home/darij/sage-5.11.beta3/local/lib/python2.7/site-
 packages/sage/combinat/sf/sf.py:1174: RuntimeWarning: redefining global
 value `e`
   inject_variable(shorthand, getattr(self, shorthand)())
 sage: w = Sym.w()
 sage: timeit("h(w[4,3,2,1])")
 5 loops, best of 3: 105 µs per loop
 sage: timeit("w(h[4,3,2,1])")
 625 loops, best of 3: 103 µs per loop
 sage: timeit("e(w[4,3,2,1])")
 5 loops, best of 3: 75.5 ms per loop
 sage: timeit("w(e[4,3,2,1])")
 5 loops, best of 3: 3.26 ms per loop
 sage: timeit("s(w[4,3,2,1])")
 5 loops, best of 3: 67.6 ms per loop
 sage: timeit("w(s[4,3,2,1])")
 125 loops, best of 3: 1.73 ms per loop
 sage: timeit("p(w[4,3,2,1])")
 25 loops, best of 3: 8.5 ms per loop
 sage: timeit("w(p[4,3,2,1])")
 125 loops, best of 3: 1.88 ms per loop
 sage:
 sage: w = Sym.w(coerce_h=False, coerce_p=True)
 sage: timeit("h(w[4,3,2,1])")
 5 loops, best of 3: 45.4 µs per loop
 sage: timeit("w(h[4,3,2,1])")
 625 loops, best of 3: 102 µs per loop
 sage: timeit("e(w[4,3,2,1])")
 5 loops, best of 3: 75.9 ms per loop
 sage: timeit("w(e[4,3,2,1])")
 5 loops, best of 3: 1.86 ms per loop
 sage: timeit("s(w[4,3,2,1])")
 5 loops, best of 3: 67.4 ms per loop
 sage: timeit("w(s[4,3,2,1])")
 5 loops, best of 3: 1.63 ms per loop
 sage: timeit("p(w[4,3,2,1])")
 625 loops, best of 3: 96.1 µs per loop
 sage: timeit("w(p[4,3,2,1])")
 625 loops, best of 3: 95.9 µs per loop
 sage:
 sage: w = Sym.w(coerce_h=False, coerce_e=True)
 sage: timeit("h(w[4,3,2,1])")
 5 loops, best of 3: 246 ms per loop
 sage: timeit("w(h[4,3,2,1])")
 625 loops, best of 3: 1.51 ms per loop
 sage: timeit("e(w[4,3,2,1])")
 625 loops, best of 3: 88.5 µs per loop
 sage: timeit("w(e[4,3,2,1])")
 625 loops, best of 3: 87.3 µs per loop
 sage: timeit("s(w[4,3,2,1])")
 25 loops, best of 3: 9.33 ms per loop
 sage: timeit("w(s[4,3,2,1])")
 625 loops, best of 3: 1.09 ms per loop
 sage: timeit("p(w[4,3,2,1])")
 5 loops, best of 3: 95.4 ms per loop
 sage: timeit("w(p[4,3,2,1])")
 625 loops, best of 3: 1.52 ms per loop
 sage:
 sage: w = Sym.w(coerce_h=True, coerce_e=True, coerce_p=True)
 sage: timeit("h(w[4,3,2,1])")
 5 loops, best of 3: 117 µs per loop
 sage: timeit("w(h[4,3,2,1])")
 625 loops, best of 3: 103 µs per loop
 sage: timeit("e(w[4,3,2,1])")
 5 loops, best of 3: 94 µs per loop
 sage: timeit("w(e[4,3,2,1])")
 625 loops, best of 3: 88.2 µs per loop
 sage: timeit("s(w[4,3,2,1])")
 5 loops, best of 3: 67.6 ms per loop
 sage: timeit("w(s[4,3,2,1])")
 5 loops, best of 3: 1.47 ms per loop
 sage: timeit("p(w[4,3,2,1])")
 625 loops, best of 3: 96.8 µs per loop
 sage: timeit("w(p[4,3,2,1])")
 625 loops, best of 3: 96.6 µs per loop
 }}}

 It's fun how s(w) is quickest with the e-coercion but the advantage
 disappears when all three coercions are on (because it doesn't know where
 to go)...

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14775#comment:19>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to