Dear tableaux users, I have (finally!) posted a patch on the queue for trac #9265. This converts the file tableau.py to use the modern Parent/Element model with categories. Some highlights:
************ * Tableau_class no longer exists. If you want to test if something is a Tableau, you should use 'isinstance(x, Tableau)'. To create a tableau from a list of lists 'x', use 'Tableau(x)' (or some of the alternative forms below.) * There now exist classes Tableau, SemistandardTableau, and StandardTableau. SemistandardTableau is new. So, in particular, one can do 'SemistandardTableau(x)', and this will raise an error if x is not weakly increasing in rows and strictly increasing in columns. Perhaps some areas of sage which currently use Tableau could be changed to use SemistandardTableau, but I made no effort in this patch to do this. * One can also create tableau objects by first creating the appropriate parent. For example, sage: S = SemistandardTableaux([3,2], max_entry = 3) sage: t = S([[1, 1, 1], [2, 3]]) sage: t.parent() Semistandard tableaux of shape [3, 2] and maximum entry 3 * The Tableaux classes are not iterable, since the elements of a tableau can be any object whatsoever. However, all classes of semistandard tableaux are now iterable, except for the most general class. sage: S = SemistandardTableaux() sage: S[12] NotImplementedError sage: S = SemistandardTableaux(max_entry=3) sage: S[12] [[2], [3]] *********************** If you use tableaux, I would appreciate it if you could take a look at this patch and provide a partial (or full!) review on #9265. In particular, I'm happy to take suggestions for more doc or tests. Thanks, Jason -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-devel@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.