combinat::skewTableaux – Young skew tableaux

The library combinat::skewTableaux provides functions for counting, generating, and manipulating Young skew tableaux.

→ Examples

Creating Elements

combinat::skewTableaux([inner, filling])

Parameters:

[inner, filling]

The inner partition and the filling of each line listed from the top to the bottom (same convention as in combinat::tableaux).

Superdomain

Dom::BaseDomain

Categories

Cat::CombinatorialClass

Axioms

Ax::systemRep

Related Domains:

combinat::skewPartitions

Details:

Entries

"domtype"

The MuPAD domain used to represent tableaux: Type::ListOf(Type::Union(Type::ListOf(Type::NonNegInt), DOM_LIST)).

isASkewTableau – test if an object is a skew tableau

combinat::skewTableaux::isASkewTableau(skew tableau skt, <skew partition skp>)

Returns whether math is a skew tableau or not.

If the optional argument is present, returns whether skt is a skew tableau of shape skp or not.

isAStandardSkewTableau – test if an object is a standard skew tableau

combinat::skewTableaux::isAStandardSkewTableau(skew tableau skt, <skew partition skp>)

Returns whether skt is a standard skew tableau or not.

If the optional argument is present, returns whether skt is a standard skew tableau of shape skp or not.

toChain – return a given skew tableau as a chain of partitions

combinat::skewTableaux::toChain(skew tableau skt)

this function returns the chain of partitions corresponding to a given skew tableau standard or semi standard

fromShapeAndWord – skew tableau from its shape and natural reading

combinat::skewTableaux::fromShapeAndWord(skew partition shape, word w)

Returns the filling of the shape whose natural reading is the word w. Be careful: the result is not necessarily a skew tableau.

count – number of standard skew tableaux

combinat::skewTableaux::count(skew partition skp)

Returns the number of standard skew tableaux of shape skp.

list – list of standard skew tableaux

combinat::skewTableaux::list(skew partition skp)

Returns the list of the standard skew tableaux of shape skp. We use linear extension of the graph which represents the partial order between skew tableau cases.

generator – generator for standard skew tableaux

combinat::skewTableaux::generator({skew, partition, skp})

Returns a generator for the standard skew tableaux of shape skp.

Example 1:

These are two examples of skew tableau test:

    combinat::skewTableaux::isASkewTableau([[3, 2] , [[4, 4], [1, 2, 4]] ]);

    combinat::skewTableaux::isASkewTableau([[3, 1, 1] , [[4, 4], [1, 2, 4]] ]);

math

math

These are two examples of standard skew tableaux test:

    combinat::skewTableaux::isAStandardSkewTableau([[2, 1], [[1], [2, 4], [3, 5, 6]]]);

    combinat::skewTableaux::isAStandardSkewTableau([[2, 1], [[1], [2, 4], [3, 5, 7]]]);

math

math

Example 2:

There are math skew tableaux of shape the skew partition math:

    combinat::skewTableaux::count([[3, 2, 1], [1, 1]])

math

Here is the list:

combinat::skewTableaux::list([[3, 2, 1], [1, 1]])

-- +---+          +---+          +---+          +---+          +---+          +---+          +---+

|  | 1 |          | 1 |          | 2 |          | 2 |          | 3 |          | 4 |          | 3 |

|  +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+

|      | 3 |    ,     | 4 |    ,     | 3 |    ,     | 4 |    ,     | 2 |    ,     | 2 |    ,     | 4 |    ,

|      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+

|      | 2 | 4 |      | 2 | 3 |      | 1 | 4 |      | 1 | 3 |      | 1 | 4 |      | 1 | 3 |      | 1 | 2 |

--     +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+      +---+---+

 

   +---+         --

   | 4 |          |

   +---+---+      |

       | 3 |      |

       +---+---+  |

       | 1 | 2 |  |

       +---+---+ --

 

If you want to run through the skew tableaux of a shape, you can generate them one by one to save memory:

g := combinat::skewTableaux::generator([[3, 2, 1], [1, 1]]);

g(); g(); g(); g(); g(); g(); g(); g(); g();

math

+---+

| 1 |

+---+---+

    | 3 |

    +---+---+

    | 2 | 4 |

    +---+---+

 

+---+

| 1 |

+---+---+

    | 4 |

    +---+---+

    | 2 | 3 |

    +---+---+

 

+---+

| 2 |

+---+---+

    | 3 |

    +---+---+

    | 1 | 4 |

    +---+---+

 

+---+

| 2 |

+---+---+

    | 4 |

    +---+---+

    | 1 | 3 |

    +---+---+

 

+---+

| 3 |

+---+---+

    | 2 |

    +---+---+

    | 1 | 4 |

    +---+---+

 

+---+

| 4 |

+---+---+

    | 2 |

    +---+---+

    | 1 | 3 |

    +---+---+

 

+---+

| 3 |

+---+---+

    | 4 |

    +---+---+

    | 1 | 2 |

    +---+---+

 

+---+

| 4 |

+---+---+

    | 3 |

    +---+---+

    | 1 | 2 |

    +---+---+

 

math

Typically, this would be used as follows:

g := combinat::skewTableaux::generator([[3, 2, 1], [1, 1]]):

while (p := g()) <> FAIL do print(p): end:

+---+

| 1 |

+---+---+

    | 3 |

    +---+---+

    | 2 | 4 |

    +---+---+

 

+---+

| 1 |

+---+---+

    | 4 |

    +---+---+

    | 2 | 3 |

    +---+---+

 

+---+

| 2 |

+---+---+

    | 3 |

    +---+---+

    | 1 | 4 |

    +---+---+

 

+---+

| 2 |

+---+---+

    | 4 |

    +---+---+

    | 1 | 3 |

    +---+---+

 

+---+

| 3 |

+---+---+

    | 2 |

    +---+---+

    | 1 | 4 |

    +---+---+

 

+---+

| 4 |

+---+---+

    | 2 |

    +---+---+

    | 1 | 3 |

    +---+---+

 

+---+

| 3 |

+---+---+

    | 4 |

    +---+---+

    | 1 | 2 |

    +---+---+

 

+---+

| 4 |

+---+---+

    | 3 |

    +---+---+

    | 1 | 2 |

    +---+---+

 

Example 3:

The skew tableau can be reconstructed back from the shape and the word:the result is not necessary a standard skew tableau, it depends on the word

combinat::skewTableaux::fromShapeAndWord([[3, 2, 1], [1, 1]], [1, 3, 4, 6]);

+---+

| 1 |

+---+---+

    | 3 |

    +---+---+

    | 4 | 6 |

    +---+---+

 

Example 4:

The skew tableau can be printed on screen with pretty form

  combinat::skewTableaux::printPretty([[1, 1], [[1], [3], [4, 6]]]);

+---+

| 1 |

+---+---+

    | 3 |

    +---+---+

    | 4 | 6 |

    +---+---+