Re: [sage-combinat-devel] semistandard tableaux

2010-06-02 Thread Nicolas M. Thiery
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" 
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.



Re: [sage-combinat-devel] semistandard tableaux

2010-06-01 Thread Anne Schilling

Hi Hugh,


Eric Webster and I want to make some changes to
SemistandardTableaux(p,mu).  This is the first change I've tried to
make to Sage, so I'm not totally sure of the protocol, but it was
suggested to me that I should describe here what we plan to do (as
well as opening a trac ticket, which I will do shortly).


Great! Yes, discussing proposed changes is probably a good idea.
You can either first put your changes on the sage-combinat server,
so that people can use and view your code, or as you wrote, you
can open a trac ticket and post your changes there.


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).


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.


I am not sure why this was done. I assume you want to edit the lines
around  2264 in tableau.py.

Cheers,

Anne

--
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.



[sage-combinat-devel] semistandard tableaux

2010-05-31 Thread Hugh Thomas

Hi!

Eric Webster and I want to make some changes to
SemistandardTableaux(p,mu).  This is the first change I've tried to
make to Sage, so I'm not totally sure of the protocol, but it was
suggested to me that I should describe here what we plan to do (as
well as opening a trac ticket, which I will do shortly).

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.

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.

cheers

Hugh

-- 
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.