Function Repository Resource:

TableauQ

Source Notebook

Determine if a list of values forms a Young tableau

Contributed by: Ed Pegg Jr and Steven Skiena

ResourceFunction["TableauQ"][t]

determines if t is a Young tableau.

Details

A Young tableau is a list of lists of decreasing length partitioning a permutation. For all entries in a Young tableau, t[[a,b]]<t[[a+1,b]] and t[[a,b]]<t[[a,b+1]].
Young tableaux are often called tableaux.
A few pictures for items related to Young tableaux:
Young diagram of Young tableau {{1,2,4},{3,5}}, English notation
Young diagram of Young tableau {{1,2,4},{3,5}}, French notation
Ferrers diagrams of Young tableau {{1,2,4},{3,5}}
{{1,2,4},{3,5}}Young tableau

Examples

Basic Examples (1) 

Check a simple tableau:

In[1]:=
ResourceFunction["TableauQ"][{{1, 2, 4, 6}, {3, 5}, {7}}]
Out[1]=

Scope (2) 

Create a random pair of order 15 tableaux:

In[2]:=
randomlarge = ResourceFunction["PermutationToTableaux"][
  ResourceFunction["PermutationFromIndex"][RandomInteger[15!], 15]]
Out[2]=

Verify these are each a tableau:

In[3]:=
ResourceFunction["TableauQ"] /@ randomlarge
Out[3]=

This is not a tableau:

In[4]:=
ResourceFunction[
 "TableauQ"][{{11}, {8}, {6, 14}, {3, 12}, {2, 9, 15}, {1, 4, 5, 7, 10, 13}}]
Out[4]=

Applications (1) 

All 6! tableaux pairs generated from order 6 permutations are verified as being tableaux:

In[5]:=
Union[Table[
  ResourceFunction["TableauQ"] /@ ResourceFunction["PermutationToTableaux"][
    ResourceFunction["PermutationFromIndex"][k, 6]], {k, 0, 6! - 1}]]
Out[5]=

Version History

  • 1.0.0 – 24 January 2022

Related Resources

License Information