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.

Reply via email to