#7983: Notion of descent/major index in tableau.py is not mathematically
standard
--------------------------------------+-------------------------------------
Reporter: jbandlow | Owner: sage-combinat
Type: defect | Status: needs_review
Priority: major | Milestone:
Component: combinatorics | Resolution:
Keywords: combinat, tableaux | Work issues:
Report Upstream: N/A | Reviewers: jbandlow
Authors: | Merged in:
Dependencies: | Stopgaps:
--------------------------------------+-------------------------------------
Comment (by darij):
3 years... not bad.
I've remade the patch from scratch (Jason's one didn't compile) without
renaming the existing {{{descents}}}, {{{major_index}}} etc. functions.
While I agree with Jason that these functions should be deprecated and
renamed, I think it's a top priority to get the correct ones out ASAP,
under whatever name possible (I chose {{{standard_descents}}} and
{{{standard_major_index}}}). I have taken the liberty to edit the
docstrings of the old functions to explain that they are not what they
seem to be; Jason and me are hardly the only people to trip over this. (To
make things worse, the only two examples for the {{{major_index}}}
function used to be cases where it happens to have the same values as the
"correct" one!!)
The patch I attached does a few more things:
- Various improvements in the documentation of {{{tableaux.py}}}. The doc
of {{{promotion}}} now warns about its nonstandard definition (#14641). A
doctest has been added to check the equivalence between two definitions of
promotion (this takes a couple seconds; let me know if that's too much).
- {{{up}}} and {{{down}}} methods are moved to {{{StandardTableaux}}}
(look at what they do to see why) and now return the correct result for
the empty tableau.
- The empty tableau is now correctly recognized as being rectangular.
Here's stuff that has not been done:
- Copy/move attacking_pairs method to partitions.
- Generalize promotion_inverse to non-rectangular tableaux (particularly
important since I believe promotion_inverse is what many people just call
promotion).
- Tableau([[]]) is standard and distinct from Tableau([]). Is this bad?
- Copy/move functionality to skew tableaux (this should be one separate
huge ticket once other stuff is done, I guess).
- Allow creating tableaux of various ilks without checking the tableau
conditions. This should be mostly called internally, so as to avoid having
lots of redundant checking at runtime.
I have been building this patch on sage-5.10rc1 with only #8392 applied.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7983#comment:6>
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.