--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:1>
Comment (by jessicapalencia):
Hi Darij,
So I think the 'n' in this promotion operator specifies that the highest
entry value we are allowing in the tableau is 'n+1'. Now for standard
tableaux, we want 'n' to be the number of boxes minus 1. But when you're
working with semistandard tableaux, you really do need to specify this,
since it may be that no 'n+1's are present in the tableaux, in which case
promotion just increments all the entries.
It would be good to change the code so that if no 'n' is specified, it
takes n = (# boxes - 1) by default.
I agree that the code is confusing in the case of rectangular tableaux,
but it seems to be working correctly in the rectangular examples I've
tried. It's likely just a computational shortcut.
Also, I think the code isn't designed to make sense with 'n' less than the
largest entry minus 1. So it gives nonsensical answers. Perhaps the code
should check that 'n' is at least as big as the largest entry minus 1.
Jessica
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:2>
Comment (by darij):
Thanks! This looks like a very good guess. I'm wondering why it had to be
n+1, not n...
It looks like the doc is the main issue here. I'll take care of this in
the next patch I do for {{{tableaux.py}}}.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:3>
Comment (by darij):
There's still something I don't like:
{{{
for c in self.cells_containing(n+1):
p = p._slide_up(c)
}}}
This is from the source code of {{{promotion}}}. But sliding up cells
containing the maximum entry in a semistandard tableau is not commutative:
{{{
sage: t = Tableau([[1,2,2,3],[2,3,3]])
sage: t._slide_up((0,3))._slide_up((1,2))
[[0, 1, 2, 2], [0, 2, 3]]
sage: t._slide_up((1,2))._slide_up((0,3))
[[0, 0, 1, 2], [2, 2, 3]]
}}}
Obviously the method is meant for some specific cases in which this
doesn't go wrong, but I'd like to see that in the doc...
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:4>
Comment (by darij):
This is all in #7983 now.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:5>
* priority: major => trivial
* status: new => needs_review
* component: PLEASE CHANGE => combinatorics
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:6>
* status: needs_review => positive_review
* milestone: sage-5.11 => sage-duplicate/invalid/wontfix
Old description:
> Both {{{promotion}}} and {{{promotion_inverse}}} methods in
> {{{combinat/tableau.py}}} take two inputs: the tableau {{{self}}} and an
> integer {{{n}}}.
>
> What exactly does the {{{n}}} do? While {{{promotion}}} has some kind of
> docstring, I fail to understand it. I expected the {{{n}}} to be the
New description:
**IGNORE** this ticket: it's all been fixed in #7983.
Both {{{promotion}}} and {{{promotion_inverse}}} methods in
{{{combinat/tableau.py}}} take two inputs: the tableau {{{self}}} and an
integer {{{n}}}.
What exactly does the {{{n}}} do? While {{{promotion}}} has some kind of
docstring, I fail to understand it. I expected the {{{n}}} to be the
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14641#comment:7>