Crystals of Generalized Young Walls

AUTHORS:

  • Lucas David-Roesler: Initial version
  • Ben Salisbury: Initial version
  • Travis Scrimshaw: Initial version

Generalized Young walls are certain generalizations of Young tableaux introduced in [KS2010] and designed to be a realization of the crystals \(\mathcal{B}(\infty)\) and \(\mathcal{B}(\lambda)\) in type \(A_n^{(1)}\).

REFERENCES:

sage.combinat.crystals.generalized_young_walls.CrystalOfGeneralizedYoungWalls

The crystal \(\mathcal{Y}(\lambda)\) of generalized Young walls of the given type with highest weight \(\lambda\).

These were characterized in Theorem 4.1 of [KS2010]. See GeneralizedYoungWall.in_highest_weight_crystal().

INPUT:

  • n – type \(A_n^{(1)}\)
  • weight – dominant integral weight

EXAMPLES:

sage: La = RootSystem(['A',3,1]).weight_lattice(extended=True).fundamental_weights()[1]
sage: YLa = crystals.GeneralizedYoungWalls(3,La)
sage: y = YLa([[0],[1,0,3,2,1],[2,1,0],[3]])
sage: y.pp()
        3|
    0|1|2|
1|2|3|0|1|
        0|
sage: y.weight()
-Lambda[0] + Lambda[2] + Lambda[3] - 3*delta
sage: y.in_highest_weight_crystal(La)
True
sage: y.f(1)
[[0], [1, 0, 3, 2, 1], [2, 1, 0], [3], [], [1]]
sage: y.f(1).f(1)
sage: yy = crystals.infinity.GeneralizedYoungWalls(3)([[0], [1, 0, 3, 2, 1], [2, 1, 0], [3], [], [1]])
sage: yy.f(1)
[[0], [1, 0, 3, 2, 1], [2, 1, 0], [3], [], [1], [], [], [], [1]]
sage: yyy = yy.f(1)
sage: yyy.in_highest_weight_crystal(La)
False

sage: LS = crystals.LSPaths(['A',3,1],[1,0,0,0])
sage: C = LS.subcrystal(max_depth=4)
sage: G = LS.digraph(subset=C)
sage: P = RootSystem(['A',3,1]).weight_lattice(extended=True)
sage: La = P.fundamental_weights()
sage: YW = crystals.GeneralizedYoungWalls(3,La[0])
sage: CW = YW.subcrystal(max_depth=4)
sage: GW = YW.digraph(subset=CW)
sage: GW.is_isomorphic(G,edge_labels=True)
True

To display the crystal down to a specified depth:

sage: S = YLa.subcrystal(max_depth=4)
sage: G = YLa.digraph(subset=S)
sage: view(G) # not tested
sage.combinat.crystals.generalized_young_walls.CrystalOfGeneralizedYoungWallsElement

Element of the highest weight crystal of generalized Young walls.

sage.combinat.crystals.generalized_young_walls.GeneralizedYoungWall

A generalized Young wall.

For more information, see InfinityCrystalOfGeneralizedYoungWalls.

EXAMPLES:

sage: Y = crystals.infinity.GeneralizedYoungWalls(4)
sage: mg = Y.module_generators[0]; mg.pp()
0
sage: mg.f_string([1,2,0,1]).pp()
1|2|
0|1|
   |
sage.combinat.crystals.generalized_young_walls.InfinityCrystalOfGeneralizedYoungWalls

The crystal \(\mathcal{Y}(\infty)\) of generalized Young walls of type \(A_n^{(1)}\) as defined in [KS2010].

A generalized Young wall is a collection of boxes stacked on a fixed board, such that color of the box at the site located in the \(j\)-th row from the bottom and the \(i\)-th column from the right is \(j-1 \bmod n+1\). There are several growth conditions on elements in \(Y \in \mathcal{Y}(\infty)\):

  • Walls grow in rows from right to left. That is, for every box \(y\in Y\) that is not in the rightmost column, there must be a box immediately to the right of \(y\).
  • For all \(p>q\) such that \(p-q \equiv 0 \bmod n+1\), the \(p\)-th row has most as many boxes as the \(q\)-th row.
  • There does not exist a column in the wall such that if one \(i\)-colored box, for every \(i = 0,1,\ldots,n\), is removed from that column, then the result satisfies the above conditions.

There is a crystal structure on \(\mathcal{Y}(\infty)\) defined as follows. Define maps

\[e_i,\ f_i \colon \mathcal{Y}(\infty) \longrightarrow \mathcal{Y}(\infty) \sqcup \{0\}, \qquad \varepsilon_i,\ \varphi_i \colon \mathcal{Y}(\infty) \longrightarrow \ZZ, \qquad \mathrm{wt}\colon \mathcal{Y}(\infty) \longrightarrow \bigoplus_{i=0}^n \ZZ \Lambda_i \oplus \ZZ \delta,\]

by

\[\mathrm{wt}(Y) = -\sum_{i=0}^n m_i(Y) \alpha_i,\]

where \(m_i(Y)\) is the number of \(i\)-boxes in \(Y\), \(\varepsilon_i(Y)\) is the number of \(-\) in the \(i\)-signature of \(Y\), and

\[\varphi_i(Y) = \varepsilon_i(Y) + \langle h_i, \mathrm{wt}(Y) \rangle.\]

See GeneralizedYoungWall.e(), GeneralizedYoungWall.f(), and GeneralizedYoungWall.signature() for more about \(e_i\), \(f_i\), and \(i\)-signatures.

INPUT:

  • n – type \(A_n^{(1)}\)

EXAMPLES:

sage: Yinf = crystals.infinity.GeneralizedYoungWalls(3)
sage: y = Yinf([[0],[1,0,3,2],[],[3,2,1],[0],[1,0]])
sage: y.pp()
    0|1|
      0|
  1|2|3|
       |
2|3|0|1|
      0|
sage: y.weight(root_lattice=True)
-4*alpha[0] - 3*alpha[1] - 2*alpha[2] - 2*alpha[3]
sage: y.f(0)
[[0], [1, 0, 3, 2], [], [3, 2, 1], [0], [1, 0], [], [], [0]]
sage: y.e(0).pp()
    0|1|
       |
  1|2|3|
       |
2|3|0|1|
      0|

To display the crystal down to depth 3:

sage: S = Yinf.subcrystal(max_depth=3)
sage: G = Yinf.digraph(subset=S) # long time
sage: view(G) # not tested