tableau.spad line 45 [edit on github]
TableauBumpers implements the Schenstead-Knuth correspondence between sequences and pairs of Young tableaux. The 2 Young tableaux are represented as a single tableau with pairs as components.
bat(ls)
unbumps a tableau ls
bat1(llp)
unbumps a tableau llp
. Operation bat1
is the inverse of tab1
.
bumprow(cf, pr, r)
is an auxiliary function which bumps a row r
with a pair pr
using comparison function cf
, and returns a record
bumptab(cf, pr, t)
bumps a tableau t
with a pair pr
using comparison function cf
, returning a new tableau
bumptab1(pr, t)
bumps a tableau t
with a pair pr
using comparison function <, returning a new tableau
inverse(ls)
forms the inverse of a sequence ls
lex(ls)
sorts a list of pairs to lexicographic order
maxrow(a, b, c, d, e)
is an auxiliary function for mr
mr(t)
is an auxiliary function which finds the position of the maximum element of a tableau t
which is in the lowest row, producing a record of results
slex(ls)
sorts the argument sequence ls
, then zips (see map) the original argument sequence with the sorted result to a list of pairs
tab(ls)
creates a tableau from ls
by first creating a list of pairs using slex, then creating a tableau using tab1
.
tab1(lp)
creates a tableau from a list of pairs lp
untab(lp, llp)
is an auxiliary function which unbumps a tableau llp
, using lp
to accumulate pairs