On Thu, Jul 10, 2014 at 09:25:05AM -0700, Travis Scrimshaw wrote:
>    On Thursday, July 10, 2014 7:11:52 AM UTC-7, Andrew wrote:
> 
>    I have this vague memory that some one was thinking of
>    extending/rationalising/reorganising the tableaux code so that it
>    fitted together better (whatever this might mean:). Does this ring any
>    bells with anyone?
>    I ask because I think that I need to implement row standard tableaux
>    (possibly of composition shape).

Attached are some notes we had taken together when we discussed last
year in Tour.

Cheers,
                                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 unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.
# Abstract classes
class WordLikeObject:
    @abstract_method
    def evaluation(self):
        pass

class AbstractSkewTableau(WordLikeObject):
    @abstract_method
    def skew_shape(self):
        pass
    @abstract_method
    def rows(self):
        pass
    @abstract_method
    def columns(self):
        pass
    # access to cells by coordinates
    # ...
    # Generic methods based on the above accessors
class SemiStandardAbstractSkewTableau(AbstractSkewTableau):
    # Crystal operators, ...
class StandardAbstractSkewTableau(SemiStandardAbstractSkewTableau):
    # ...

# Concrete classes
class SkewTableau(AbstractSkewTableau):
    """
    Defines the data structure for skew tableaux, and low-level
    methods on this data structure
    """
    def shape():
        # ...
    skew_shape = shape
    def rows():
        # ...
class SemiStandardSkewTableau(SkewTableau, SemiStandardAbstractSkewTableau):
    # Probably unneeded
class StandardSkewTableau(SemiStandardSkewTableau, StandardAbstractSkewTableau):
    pass

class Tableau(ClonableArray?, AbstractSkewTableau):
    """
    Defines the data structure for tableaux, and low-level methods on
    this data structure
    """
    def shape(self):
        pass
    def skew_shape(self):
        return [[], self.shape()]

class SemiStandardTableau(Tableau, SemiStandardAbstractSkewTableau):
    """
    Might want to use a different data structure, based on ClonableIntArray

    In this case might not want to inherit from Tableau, or introduce
    an AbstractTableau class.
    """
class StandardTableau(SemiStandardTableau, StandardAbstractSkewTableau):
    pass

Reply via email to