Skip to content

schubmult.combinatorics.increasing_tableau

IncreasingTableau: K-theoretic increasing tableaux (a Plactic variant where insertion may bump without adding a box), plus grid-shape helper utilities.

IncreasingTableau Objects

class IncreasingTableau(Plactic)

hecke_insert

def hecke_insert(*letters)

Insert a letter/entry into this IncreasingTableau tableau and return a new Plactic.

ed_insert_rsk

@classmethod
def ed_insert_rsk(cls, w1, w2)

Insert a letter/entry into this IncreasingTableau tableau and return a new Plactic.

ed_column_insert_rsk

@classmethod
def ed_column_insert_rsk(cls, w1, w2)

Insert a letter/entry into this IncreasingTableau tableau and return a new Plactic.

up_jdt_slide

def up_jdt_slide(*corners)

K-theoretic (Buch–Samuel) jeu de taquin slide toward the top-left.

Starting from one or more empty inner cells, slide entries up/left into the holes. This is the genuine K-theoretic slide, so a single entry may migrate into several holes at once; passing multiple corners performs the simultaneous slide of all of them.

Corners may be given either as up_jdt_slide(row, col) (a single corner) or as up_jdt_slide((r1, c1), (r2, c2), ...). Returns a new :class:IncreasingTableau.

down_jdt_slide

def down_jdt_slide(*corners)

K-theoretic (Buch–Samuel) jeu de taquin slide toward the bottom-right.

Starting from one or more empty outer cells, slide entries down/right into the holes. As with :meth:up_jdt_slide, this is the genuine K-theoretic slide (an entry may migrate into several holes) and passing multiple corners performs the simultaneous slide of all of them.

Corners may be given either as down_jdt_slide(row, col) (a single corner) or as down_jdt_slide((r1, c1), (r2, c2), ...). Returns a new :class:IncreasingTableau.

down_jdt_slide_all_inner_corners

def down_jdt_slide_all_inner_corners()

Simultaneously down-slide every valid inner corner.

Collects all inner corners of the skew shape (see :attr:iter_inner_corners) and performs a single K-theoretic down slide that moves all of them at once. Returns a new :class:IncreasingTableau. If there are no inner corners the tableau is returned unchanged.

hecke_column_insert

def hecke_column_insert(*letters)

Column Hecke-insert letters into a copy of this tableau.

Returns the resulting :class:IncreasingTableau (the insertion tableau P). Use :meth:hecke_column_insert_rsk when the set-valued recording tableau Q is also required.

hecke_column_insert_rsk

@classmethod
def hecke_column_insert_rsk(cls, recording, insertion)

Column Hecke (K-theoretic) insertion of a two-line array.

The two-line array is given by two equal-length sequences: recording holds the top-row labels k (weakly increasing, with the letters in each equal-label block strictly increasing) and insertion holds the bottom-row letters a that are column-inserted.

Returns (P, Q) where P is an :class:IncreasingTableau (the insertion tableau) and Q is a :class:~schubmult.combinatorics.set_valued_tableau.SetValuedTableau, the semistandard set-valued recording tableau.

reverse_hecke_column_insert

def reverse_hecke_column_insert(corner, alpha=1)

Reverse Hecke-column-insert the box at corner (row, col).

alpha is 1 when the corner box was created by the forward insertion (a "grow" step) and 0 when the forward step merely absorbed a letter at that corner. Returns (Y, x) where Y is the resulting :class:IncreasingTableau and x the reconstructed letter.

hecke_column_uninsert_rsk

@classmethod
def hecke_column_uninsert_rsk(cls, P, Q)

Invert :meth:hecke_column_insert_rsk.

Given an insertion tableau P (:class:IncreasingTableau) and a set-valued recording tableau Q of the same shape, reconstruct the two-line array as (recording, insertion).

The recording labels are undone from largest to smallest. Within a box, the maximum label was the last placed there: a singleton box came from a "grow" step (reverse with alpha = 1), while a box holding several labels had its largest label appended by an "absorb" step (reverse with alpha = 0, keeping the box). Because insertion is by columns with the canonical convention that equal-label letters are inserted in strictly decreasing order, the corners sharing the maximal label are undone right-most column first (that being the most recently created box for the batch).

__mul__

def __mul__(other)

Plactic product: insert entries of other in row-reading order (top-to-bottom, left-to-right) into a copy of self.