Thanks for the pointer Jason. I'll have a look.

Andrew

On Sep 3, 12:23 am, Jason Bandlow <[email protected]> wrote:
> Dear Andrew and Nicolas,
>
> Nicolas--thanks for you comments! I'm glad to hear that the basic design
> I had in mind isn't totally crazy. :)
>
> Andrew, thanks for agreeing to review!  I will try to work on this in
> the next few weeks.  Please add yourself to the cc of trac ticket #9265,
> and I'll post whatever progress I make there.
>
> >  Is there any documentation written
> > about how all of this is about to work?
>
> I don't think there is any completely comprehensive documentation on
> categories. Doing sage.categories.primer?  will get you started, but all
> I know how to do after that is look at examples. (Of which there are
> some very good ones!)
>
> Cheers,
> Jason
>
> On 09/02/2010 09:33 AM, Andrew Mathas wrote:
>
> > Dear Nicolas and Jason,
>
> > I am happy to be the reviewer. Is there any documentation written
> > about how all of this is about to work? I have looked a little for it
> > without success. My impression is that the general structure is very
> > well thought out but without having Nicolas or Florent sitting next to
> > you it is hard to learn what the intended design is!
>
> > Andrew
>
> > On Sep 1, 2:53 am, "Nicolas M. Thiery" <[email protected]>
> > wrote:
> >>         Hi Jason!
>
> >> For once, I am trying hard to procrastinate on the Sage-Combinat
> >> e-mails in order to focus on finishing our paper with Florent and
> >> Anne, instead of the converse; hence my slow answer.
>
> >> Thanks for your long post! It sounds all fine to me. I'll just insert
> >> a couple micro comments below. I hope someone goes on and implements
> >> this! It would be great if you could do with Andrew as reviewer (or
> >> the converse, or with whatever pair programming scheme fits you).
>
> >> On Thu, Aug 19, 2010 at 12:11:47PM -0400, Jason Bandlow wrote:
> >>> The 'metaclass' trick is so that both of these will work, and the
> >>> parents will be set appropriately.  Anyway, here is what I roughly think
> >>> the element classes should look.
>
> >> And I should mention that the "metaclass trick" is nothing but a
> >> syntactic sugar so that one can use the same name Tableau for both:
>
> >>  - the function used to create a tableau
> >>  - the base class for all tableaux.
>
> >> Currently in Sage, those two gadgets are usually distinct (think
> >> Partition/Partition_class which makes it inconvenient for the user to
> >> access Partition_class, say for an isinstance test.
>
> >>> class Tableaux(UniqueRepresentation, Parent):
> >>> ...
> >>> class SemistandardTableaux(UR, Parent, Tableaux): # similar
> >>> class StandardTableaux(UR, Parent, SemistandardTableaux): # similar
>
> >> No need to specify again UR and Parent; those are inherited through
> >> Tableaux.
>
> >>> Finally we have the specific parent classes.  I think they should look
> >>> roughly as follows.
>
> >>> ****  The parent classes ****
>
> >>> class Tableaux_all(Tableaux):
> >>>   def __init__(self):
> >>>     super(Tableaux_all, self).__init__()
> >>>       # I don't know a good category, since general tableaux (which
> >>>       # allow, for example, real-number entries) are not enumerable.
>
> >> I guess Sets() is the best we can do.
>
> >>> class SemistandardTableaux_all(DisjointUnionEnumeratedSets,
> >>>                   SemistandardTableaux):
>
> >>>   def __init__(self):
> >>>     DisjointUnionEnumeratedSets.__init__(
> >>>             self, Family(NonNegativeIntegers(),
> >>>             SemistandardTableaux_size),
> >>>             facade=True, keepkey = False)
> >>>      # Note that I'm not clear on what facade and keepkey do.
> >>>      # They may not be necessary or advisable.
>
> >>  * With keekkey = True, the elements of the disjoint union would be of
> >>    the form (5, Partition([3,2])). That's only useful when one wants
> >>    to construct the disjoint union of a collection of sets which are
> >>    not originally disjoint (e.g. building n copies of a given set).
>
> >>  * facade = True/False controls whether, for x in
> >>    SemiStandardTableaux(), x.parent() is SemiStandardTableaux() or
> >>    SemiStandardTableaux(shape=...)
>
> >>> class SemistandardTableaux_size(SemistandardTableaux):
>
> >>>   def __init__(self, size):
> >>>     super(SemistandardTableaux_size, self).__init__(
> >>>               category = InfiniteFiniteEnumeratedSets())
>
> >> Interesting category :-) But yes, the category should be set to one or
> >> the other depending on what makes sense.
>
> >>                                 Nicolas
> >> --
> >> Nicolas M. Thi ry "Isil" <[email protected]>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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to