#15408: corrections and improvements to `inner_plethysm` method in symmetric
functions
-------------------------------------+-------------------------------------
Reporter: zabrocki | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-6.0
Component: combinatorics | Resolution:
Keywords: symmertic | Merged in:
functions, inner plethysm | Reviewers:
Authors: Mike Zabrocki | Work issues:
Report Upstream: N/A | Commit:
Branch: | c358c006a220be17954d035cc0466b5a90357e3b
public/combinat/15408/zabrocki/inner_plethysm| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Description changed by zabrocki:
Old description:
> The current documentation for `inner_plethysm` reads
> {{{
> f.inner_plethysm(g + h) == f.inner_plethysm(g) + f.inner_plethysm(h).
> }}}
> This is false (see an example below), and in fact
> {{{
> (f+g).inner_plethysm(h) == f.inner_plethysm(h) + g.inner_plethysm(h)
> }}}
> and it is only true that
> {{{
> p[k].inner_plethysm(f+g) == p[k].inner_plethysm(f) +
> p[k].inner_plethysm(g).
> }}}
> It is also true that
> {{{
> (f*g).inner_plethsym(h) ==
> (f.inner_plethsym(h)).itensor(g.inner_plethsym(h)).
> }}}
> In fact these three statements and the definition for
> `p[k].inner_plethysm(p(mu))` is how inner plethysm is defined.
>
> For example
> {{{
> sage:
> s[3].inner_plethysm(s[2,1]+s[3])-s[3].inner_plethysm(s[2,1])-s[3].inner_plethysm(s[3])
> 2*s[2, 1] + s[3]
> sage:
> (s[3]+s[2,1]).inner_plethysm(s[2,1])-s[3].inner_plethysm(s[2,1])-s[2,1].inner_plethysm(s[2,1])
> 0
> sage:
> p[5].inner_plethysm(s[2,1]+s[3])-p[5].inner_plethysm(s[2,1])-p[5].inner_plethysm(s[3])
> 0
> sage:
> p[3,2].inner_plethysm(s[2,1])-p[3].inner_plethysm(s[2,1]).itensor(p[2].inner_plethysm(s[2,1]))
> 0
> }}}
> Moreover the doc tests don't catch errors that were (probably?)
> introduced in edits since #3342.
> {{{
> sage: p[4,3].inner_plethysm(p[2,2,1])
> ---------------------------------------------------------------------------
> AttributeError Traceback (most recent call
> last)
> ...
> AttributeError: 'int' object has no attribute 'itensor'
> sage: p[3].inner_plethysm(p[3])
> ---------------------------------------------------------------------------
> ValueError Traceback (most recent call
> last)
> ...
> ValueError: Codomain could not be determined
> }}}
New description:
The current documentation for `inner_plethysm` reads
{{{
f.inner_plethysm(g + h) == f.inner_plethysm(g) + f.inner_plethysm(h).
}}}
This is false (see an example below), and in fact
{{{
(f+g).inner_plethysm(h) == f.inner_plethysm(h) + g.inner_plethysm(h)
}}}
and it is only true that
{{{
p[k].inner_plethysm(f+g) == p[k].inner_plethysm(f) +
p[k].inner_plethysm(g).
}}}
It is also true that
{{{
(f*g).inner_plethsym(h) ==
(f.inner_plethsym(h)).itensor(g.inner_plethsym(h)).
}}}
In fact these three statements and the definition for
`p[k].inner_plethysm(p(mu))` is how inner plethysm is defined.
For example
{{{
sage:
s[3].inner_plethysm(s[2,1]+s[3])-s[3].inner_plethysm(s[2,1])-s[3].inner_plethysm(s[3])
2*s[2, 1] + s[3]
sage:
(s[3]+s[2,1]).inner_plethysm(s[2,1])-s[3].inner_plethysm(s[2,1])-s[2,1].inner_plethysm(s[2,1])
0
sage:
p[5].inner_plethysm(s[2,1]+s[3])-p[5].inner_plethysm(s[2,1])-p[5].inner_plethysm(s[3])
0
sage:
p[3,2].inner_plethysm(s[2,1])-p[3].inner_plethysm(s[2,1]).itensor(p[2].inner_plethysm(s[2,1]))
0
}}}
Moreover the doc tests don't catch errors that were (probably?) introduced
in edits since #3244.
{{{
sage: p[4,3].inner_plethysm(p[2,2,1])
---------------------------------------------------------------------------
AttributeError Traceback (most recent call
last)
...
AttributeError: 'int' object has no attribute 'itensor'
sage: p[3].inner_plethysm(p[3])
---------------------------------------------------------------------------
ValueError Traceback (most recent call
last)
...
ValueError: Codomain could not be determined
}}}
--
--
Ticket URL: <http://trac.sagemath.org/ticket/15408#comment:12>
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.