#18024: Mutability of tableaux part II: replacing CombinatorialObject by
ClonableList
-------------------------------------+-------------------------------------
Reporter: darij | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-6.6
Component: combinatorics | Resolution:
Keywords: tableaux, sage- | Merged in:
combinat, mutability, | Reviewers:
ClonableList, days64 | Work issues: fix __setstate__'s
Authors: Jan Keitel, Darij | such that the doctests work
Grinberg | Commit:
Report Upstream: N/A | 825a53cb28c9e84200295246649af8d8a0e8d989
Branch: | Stopgaps:
public/TransitionClonable |
Dependencies: #15862 |
-------------------------------------+-------------------------------------
Old description:
> Jan Keitel's work. Depends on #15862 but probably needs to be merged with
> its current state.
New description:
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.
--
Comment (by darij):
New commits:
||[http://git.sagemath.org/sage.git/commit/?id=825a53cb28c9e84200295246649af8d8a0e8d989
825a53c]||{{{deprecation warning}}}||
--
Ticket URL: <http://trac.sagemath.org/ticket/18024#comment:15>
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.