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