TableauxBumpers SΒΆ
tableau.spad line 45 [edit on github]
S: OrderedSet
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.
- bat1: List List List S -> List List S
bat1(llp)
unbumps a tableaullp
. Operationbat1
is the inverse oftab1
.
- bumprow: ((S, S) -> Boolean, List S, List List S) -> Record(fs: Boolean, sd: List S, td: List List S)
bumprow(cf, pr, r)
is an auxiliary function which bumps a rowr
with a pairpr
using comparison functioncf
, and returns a record
- bumptab1: (List S, List List List S) -> List List List S
bumptab1(pr, t)
bumps a tableaut
with a pairpr
using comparison function <, returning a new tableau
- bumptab: ((S, S) -> Boolean, List S, List List List S) -> List List List S
bumptab(cf, pr, t)
bumps a tableaut
with a pairpr
using comparison functioncf
, returning a new tableau
- maxrow: (List S, List List List S, List List S, List List List S, List List List S, List List List S) -> Record(f1: List S, f2: List List List S, f3: List List S, f4: List List List S)
maxrow(a, b, c, d, e)
is an auxiliary function formr
- mr: List List List S -> Record(f1: List S, f2: List List List S, f3: List List S, f4: List List List S)
mr(t)
is an auxiliary function which finds the position of the maximum element of a tableaut
which is in the lowest row, producing a record of results
- slex: List S -> List List S
slex(ls)
sorts the argument sequencels
, then zips (see map) the original argument sequence with the sorted result to a list of pairs