On Tue, Jun 01, 2010 at 12:20:23AM -0700, Anne Schilling wrote: > >Mostly, we want to make a change to add a feature, so that one can > >specify an additional keyword argument max_entry=k so as to get the > >Semistandard Tableaux(p,mu) with entries in 1..k, or max_entry=-1 so > >there is no maximum. (Currently, the entries are in 1..|p| unless mu > >is specified, and I would keep that as the default.) So our proposed > >change is just an enhancement and presumably won't screw anything up > >if done right. I do also want to change __repr__ so it always > >explicitly says what the maximum entry is. > > I agree that being able to specify the maximum entry is a natural > thing to do (and is not always |p| in many applications).
+1. Please use the occasion to rename __repr__ (Python's convention) to _repr_ (Sage's convention). What about specifying an alphabet rather than max_entry? Or possibly allowing for both, with max_entry = k translating into alphabet = {1,...,k}? Also, just to make sure, do you agree that the options mu, max_entry, and alphabet are mutually exclusive. Oh, and a last comment: thanks to crystal operations, generating and counting semistandard tableaux over a fixed alphabet is actually much easier/faster than doing it over a fixed content mu. So the current implementation of semistandard tableaux over a fixed alphabet by iterating over all the possible contents is far from optimal. I let you see if you want, or not, to get into that. > >While looking at the code, though, I noticed something a bit wierd > >about the way SemistandardTableaux(p,mu) operates. As it stands, p > >can be an integer, a partition, or None, and mu is an integer vector > >describing content. If p is an integer, it returns all tableaux of > >size p (and with content mu if mu is specified). If p is a partition, > >it returns all tableaux of shape p (and with content mu if mu is > >specified). If p is None, it ignores mu. This seems wrong: surely it > >ought to give you all tableaux of content mu and size |mu|. So I > >wanted to change that. But it's not because I really need it, it's > >just tidy-mindedness. If anyone suggests it's a bad idea to do this > >part, I won't. Looks like it is just not implemented (and a warning about this is missing). Go ahead! Oh, and by the way: it would be great if you could use this occasion to clean up the Semistandard_* classes to inherit from UniqueRepresentation and Parent rather than CombinatorialClass, and set their category to FiniteEnumeratedSets() / InfiniteEnumeratedSets() properly. See the comments in the #8910 patch, and ask for help if needed! Thanks! Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- 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-de...@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.