FUNCTION: ListTab - generate all tableaux of a given shape and evaluation
CALLING SEQUENCE:
- ListTab(part, eval)
- TAB[ListTab](part, eval)
-
PARAMETERS:
- part = any list denoting a partition
- eval = any list denoting an evaluation
SYNOPSIS:
- The ListTab function generates all tableaux of a given shape part and of
a given evaluation eval. Note that this vector eval possibly has some 0.
- When called with a third parameter, say 'nb', it returns the number of
such tableaux.
- Using a third parameter 'mintab'=list_of_lists, one specifies that the
entries of the tableaux are componentwise bigger or equal to those of
'mintab'. For instance, 'mintab'=[[6], [-infinity, 2]] as well as
'mintab'=[[6], [1,2]], gives tableaux [..., [x, ...], [y, z, ...]] with
x>=6, y>=1, z>=2.
- One can use both 'nb' and 'mintab' options as third or fourth argument
at the same time.
- The generator is more efficient when eval is sorted as an increasing
sequence of integers. It can be useful if you solely want the number of
tableaux because sorting the evaluation does not change this number.
- Whenever there is a conflict between the function name ListTab and
another name used in the same session, use the long form
TAB['ListTab'].
EXAMPLES:
> with(TAB):
> l:=ListTab([3,2], [0,1,0,0,1,2,0,0,1]);
l := [[[6, 9], [2, 5, 6]], [[5, 9], [2, 6, 6]], [[6, 6], [2, 5, 9]]]
> ListTab([3,2], [0,1,0,0,1,2,0,0,1], 'mintab'=[[6],[-infinity]]);
[[[6, 9], [2, 5, 6]], [[6, 6], [2, 5, 9]]]
> map(Tab2Mat, l);
[ 6 9 ] [ 5 9 ] [ 6 6 ]
[[ ], [ ], [ ]]
[ 2 5 6 ] [ 2 6 6 ] [ 2 5 9 ]
> ListTab([5,5], [1$10], 'nb');
42
SEE ALSO: ListStdTab