Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Trac #18024: Mutability of tableaux part II: replacing CombinatorialO…
…bject by ClonableList This branch refactors `Tableau` and `SkewTableau` to derive from `ClonableList` instead of `CombinatorialObject`. While we do not currently use the cloning context-manager provided by `ClonableList`, this refactoring still has the advantage of moving to a more modern paradigm and simplifying the changes in #18013. A number of cleanup and optimization changes are also done here. (The methods deleted from `ribbon_tableau.py` and `ribbon_shape_tableau.py` are slow implementations of methods that are implemented in a better way on a superclass in `skew_tableau`. No functionality is lost.) The speed changes range from significant speedups to minor slowdowns, the latter being mainly on methods (such as Tableau's `restrict`) which ducktype the result as follows: {{{ # attempt to return a tableau of the same type try: return self.parent()( res ) except Exception: try: return self.parent().Element( res ) except Exception: return Tableau(res) }}} Two unpickling doctests are broken: one in ribbon_tableau.py, and one in ribbon_shape_tableau.py. One of them makes no sense to me, but the other might be worth salvaging. URL: http://trac.sagemath.org/18024 Reported by: darij Ticket author(s): Jan Keitel, Darij Grinberg Reviewer(s): Josh Swanson, Travis Scrimshaw
- Loading branch information
Showing
8 changed files
with
539 additions
and
298 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.