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