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


Reply via email to