#14775: Symmetric functions: extending Kronecker product, implementing Kronecker
product, extending antipode, extending forgotten basis, implementing Witt
basis
---------------------------------------------------------------------------+
Reporter: darij |
Owner: sage-combinat
Type: enhancement |
Status: new
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:
---------------------------------------------------------------------------+
Comment (by darij):
3 is done. Anyone has a better name than {{{degree_negation}}} for the
algebra automorphism of ``SymmetricFunctions`` which acts as 1 in even
degrees and 0 in odd ones?
The changes in the antipode method not only made it work over any rings,
but also sped it up on each basis except for the powersum one (and the
monomial one, but I improved that with a trivial fix):
Test suite:
{{{
def testall():
Sym = SymmetricFunctions(QQ)
print "m"
timeit("SymmetricFunctions(QQ).m()([4,3,2]).antipode()")
print "h"
timeit("SymmetricFunctions(QQ).h()([4,3,2]).antipode()")
print "e"
timeit("SymmetricFunctions(QQ).e()([4,3,2]).antipode()")
print "s"
timeit("SymmetricFunctions(QQ).s()([4,3,2]).antipode()")
print "p"
timeit("SymmetricFunctions(QQ).p()([4,3,2]).antipode()")
}}}
Results:
{{{
original version:
sage: testall()
m
125 loops, best of 3: 1.86 ms per loop
h
25 loops, best of 3: 10.8 ms per loop
e
25 loops, best of 3: 10.8 ms per loop
s
25 loops, best of 3: 30.6 ms per loop
p
625 loops, best of 3: 146 µs per loop
after change of generic antipode to go via omega rather than via coercion
to powersum basis:
sage: testall()
m
125 loops, best of 3: 2.16 ms per loop
h
125 loops, best of 3: 2.92 ms per loop
e
125 loops, best of 3: 2.92 ms per loop
s
625 loops, best of 3: 250 µs per loop
p
625 loops, best of 3: 148 µs per loop
after microoptimization in the antipode of powersum (replacing (-1)**blah
by case distinction):
sage: testall()
m
125 loops, best of 3: 1.79 ms per loop
h
125 loops, best of 3: 2.88 ms per loop
e
125 loops, best of 3: 2.95 ms per loop
s
625 loops, best of 3: 252 µs per loop
p
625 loops, best of 3: 113 µs per loop
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14775#comment:5>
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.