#17983: Refactor/cleanup tableaux
-------------------------+-------------------------------------------------
   Reporter:  jpswanson  |            Owner:
       Type:  task       |           Status:  new
   Priority:  major      |        Milestone:  sage-6.6
  Component:             |         Keywords:  tableaux, days64, cleanup,
  combinatorics          |  refactoring
  Merged in:             |          Authors:
  Reviewers:             |  Report Upstream:  N/A
Work issues:             |           Branch:
     Commit:             |     Dependencies:
   Stopgaps:             |
-------------------------+-------------------------------------------------
 `Tableau`, `SemistandardTableau`, `StandardTableau`, `SkewTableau` and
 related classes need lots of clean-up and refactoring. Specific examples:

 (Warning: this list is very much in flux and will probably change lots
 during days64.)

 * `Tableau.standardization` should be moved to `SemistandardTableau`;
 `SkewTableau.bender_knuth_involution` should likewise be moved to
 `SemistandardSkewTableau`.
 * `Tableau` distinguishes between `[]` and `[[]]`, or `[[1]]` and `[[1],
 []]`, which is very odd. Along the same lines, perhaps make `t` optional
 in `Tableau.__classcall_private__` to allow for `Tableau()` yielding the
 empty tableau.
 * `Tableau.k_weight` needs descriptive documentation.
 * `Tableau.schensted_insert`, `Tableau.bump`, and `SkewTableux.slide`
 duplicate functionality.
 * `Tableau` should probably inherit from `SkewTableau` with lots of
 refactoring/removal of duplicate methods like `conjugate`. Perhaps
 `Tableau` should be renamed `StraightTableau`, though it might not be
 worth it. Similarly with `SemistandardTableau` and
 `SemistandardSkewTableau`.
 * All tableau should probably inherit from some abstract base class.
 Possible generic functionality: reading words; iteration over rows and
 columns; descent sets (either definition--oh, add the one that doesn't
 already exist); shape; size; weight; cells; cells_containing.
   * What is a tableau? Roughly, perhaps a mapping of (subsets of?) the
 product of two indexing sets to an arbitrary set?
 * `SkewTableau.rectify` should insert the reading word rather than
 repeatedly jdt slide--more efficient
 * Several related tickets could/should be handled at the same time.
   * #8322: ancient; not a bug; should be closed.
   * #17780: domino tableau and RSK generalization; recent; would require
 lots of refactoring and documentation changes to fit existing tableau and
 Sage style; probably wait to poke Connor until abstract class is
 finalized.
   * #15598: two straightforward features
   * #4355: MuPAD ascii_art; ancient; not sure how relevant this still is;
 should be reviewed
   * #15031: confusingly, `Tableau.column_stabilizer` has incompatible
 output when used as input for `Tableau.symmetric_group_action_on_entries`.
 Maybe add some type casting to the latter?
   * #15862: make tableaux immutable during cleanup? discussion fell off a
 year ago. Not convinced either way yet.

 (This is my first ticket. Apologies for whatever conventions I may have
 broken!)

--
Ticket URL: <http://trac.sagemath.org/ticket/17983>
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/d/optout.

Reply via email to