# Crystals of Modified Nakajima Monomials¶

AUTHORS:

• Arthur Lubovsky: Initial version
• Ben Salisbury: Initial version

Let $$Y_{i,k}$$, for $$i \in I$$ and $$k \in \ZZ$$, be a commuting set of variables, and let $$\boldsymbol{1}$$ be a new variable which commutes with each $$Y_{i,k}$$. (Here, $$I$$ represents the index set of a Cartan datum.) One may endow the structure of a crystal on the set $$\widehat{\mathcal{M}}$$ of monomials of the form

$M = \prod_{(i,k) \in I\times \ZZ_{\ge0}} Y_{i,k}^{y_i(k)}\boldsymbol{1}.$

Elements of $$\widehat{\mathcal{M}}$$ are called modified Nakajima monomials. We will omit the $$\boldsymbol{1}$$ from the end of a monomial if there exists at least one $$y_i(k) \neq 0$$. The crystal structure on this set is defined by

\begin{split}\begin{aligned} \mathrm{wt}(M) &= \sum_{i\in I} \Bigl( \sum_{k\ge 0} y_i(k) \Bigr) \Lambda_i, \\ \varphi_i(M) &= \max\Bigl\{ \sum_{0\le j \le k} y_i(j) : k\ge 0 \Bigr\}, \\ \varepsilon_i(M) &= \varphi_i(M) - \langle h_i, \mathrm{wt}(M) \rangle, \\ k_f = k_f(M) &= \min\Bigl\{ k\ge 0 : \varphi_i(M) = \sum_{0\le j\le k} y_i(j) \Bigr\}, \\ k_e = k_e(M) &= \max\Bigl\{ k\ge 0 : \varphi_i(M) = \sum_{0\le j\le k} y_i(j) \Bigr\}, \end{aligned}\end{split}

where $$\{h_i : i \in I\}$$ and $$\{\Lambda_i : i \in I \}$$ are the simple coroots and fundamental weights, respectively. With a chosen set of integers $$C = (c_{ij})_{i\neq j}$$ such that $$c_{ij}+c{ji} =1$$, one defines

$A_{i,k} = Y_{i,k} Y_{i,k+1} \prod_{j\neq i} Y_{j,k+c_{ji}}^{a_{ji}},$

where $$(a_{ij})$$ is a Cartan matrix. Then

\begin{split}\begin{aligned} e_iM &= \begin{cases} 0 & \text{if } \varepsilon_i(M) = 0, \\ A_{i,k_e}M & \text{if } \varepsilon_i(M) > 0, \end{cases} \\ f_iM &= A_{i,k_f}^{-1} M. \end{aligned}\end{split}

It is shown in [KKS07] that the connected component of $$\widehat{\mathcal{M}}$$ containing the element $$\boldsymbol{1}$$, which we denote by $$\mathcal{M}(\infty)$$, is crystal isomorphic to the crystal $$B(\infty)$$.

Let $$\widetilde{\mathcal{M}}$$ be $$\widehat{\mathcal{M}}$$ as a set, and with crystal structure defined as on $$\widehat{\mathcal{M}}$$ with the exception that

$\begin{split}f_iM = \begin{cases} 0 & \text{if } \varphi_i(M) = 0, \\ A_{i,k_f}^{-1}M & \text{if } \varphi_i(M) > 0. \end{cases}\end{split}$

Then Kashiwara [Kash03] showed that the connected component in $$\widetilde{\mathcal{M}}$$ containing a monomial $$M$$ such that $$e_iM = 0$$, for all $$i \in I$$, is crystal isomorphic to the irreducible highest weight crystal $$B(\mathrm{wt}(M))$$.

WARNING:

Monomial crystals depend on the choice of positive integers $$C = (c_{ij})_{i\neq j}$$ satisfying the condition $$c_{ij}+c_{ji}=1$$. We have chosen such integers uniformly such that $$c_{ij} = 1$$ if $$i < j$$ and $$c_{ij} = 0$$ if $$i>j$$.

REFERENCES:

 [KKS07] (1, 2) S.-J. Kang, J.-A. Kim, and D.-U. Shin. Modified Nakajima Monomials and the Crystal $$B(\infty)$$. J. Algebra 308, pp. 524–535, 2007.
 [Kash03] (1, 2) M. Kashiwara. Realizations of Crystals. Combinatorial and geometric representation theory (Seoul, 2001), Contemp. Math. 325, Amer. Math. Soc., pp. 133–139, 2003.
class sage.combinat.crystals.monomial_crystals.CrystalOfNakajimaMonomials(ct, La)

Let $$\widetilde{\mathcal{M}}$$ be $$\widehat{\mathcal{M}}$$ as a set, and with crystal structure defined as on $$\widehat{\mathcal{M}}$$ with the exception that

$\begin{split}f_iM = \begin{cases} 0 & \text{if } \varphi_i(M) = 0, \\ A_{i,k_f}^{-1}M & \text{if } \varphi_i(M) > 0. \end{cases}\end{split}$

Then Kashiwara [Kash03] showed that the connected component in $$\widetilde{\mathcal{M}}$$ containing a monomial $$M$$ such that $$e_iM = 0$$, for all $$i \in I$$, is crystal isomorphic to the irreducible highest weight crystal $$B(\mathrm{wt}(M))$$.

EXAMPLES:

sage: La = RootSystem("A2").weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials("A2",La[1]+La[2])
sage: B = CrystalOfTableaux("A2",shape=[2,1])
sage: GM = M.digraph()
sage: GB = B.digraph()
sage: GM.is_isomorphic(GB,edge_labels=True)
True

sage: La = RootSystem("G2").weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials("G2",La[1]+La[2])
sage: B = CrystalOfTableaux("G2",shape=[2,1])
sage: GM = M.digraph()
sage: GB = B.digraph()
sage: GM.is_isomorphic(GB,edge_labels=True)
True

sage: La = RootSystem("B2").weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['B',2],La[1]+La[2])
sage: B = CrystalOfTableaux("B2",shape=[3/2,1/2])
sage: GM = M.digraph()
sage: GB = B.digraph()
sage: GM.is_isomorphic(GB,edge_labels=True)
True

sage: La = RootSystem(['A',3,1]).weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['A',3,1],La[0]+La[2])
sage: B = CrystalOfGeneralizedYoungWalls(3,La[0]+La[2])
sage: SM = M.subcrystal(max_depth=4)
sage: SB = B.subcrystal(max_depth=4)
sage: GM = M.digraph(subset=SM) # long time
sage: GB = B.digraph(subset=SB) # long time
sage: GM.is_isomorphic(GB,edge_labels=True) # long time
True

sage: La = RootSystem(['A',5,2]).weight_lattice().fundamental_weights()
sage: LA = RootSystem(['A',5,2]).weight_space().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['A',5,2],3*La[0])
sage: B = CrystalOfLSPaths(3*LA[0])
sage: SM = M.subcrystal(max_depth=4)
sage: SB = B.subcrystal(max_depth=4)
sage: GM = M.digraph(subset=SM)
sage: GB = B.digraph(subset=SB)
sage: GM.is_isomorphic(GB,edge_labels=True)
True

cardinality()

Return the cardinality of self.

EXAMPLES:

sage: La = RootSystem(['A',2]).weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['A',2],La[1])
sage: M.cardinality()
3

sage: La = RootSystem(['D',4,2]).weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['D',4,2],La[1])
sage: M.cardinality()
+Infinity

class sage.combinat.crystals.monomial_crystals.CrystalOfNakajimaMonomialsElement(parent, dict)

Element class for CrystalOfNakajimaMonomials.

The $$f_i$$ operators need to be modified from the version in NakajimaYMonomial in order to create irreducible highest weight realizations. This modified $$f_i$$ is defined as

$\begin{split}f_iM = \begin{cases} 0 & \text{if } \varphi_i(M) = 0, \\ A_{i,k_f}^{-1}M & \text{if } \varphi_i(M) > 0. \end{cases}\end{split}$

EXAMPLES:

f(i)

Return the action of $$f_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: La = RootSystem(['A',5,2]).weight_lattice().fundamental_weights()
sage: M = CrystalOfNakajimaMonomials(['A',5,2],3*La[0])
sage: m = M.module_generators[0]
sage: [m.f(i) for i in M.index_set()]
[Y(0,0)^2 Y(0,1)^-1 Y(2,0) , None, None, None]

class sage.combinat.crystals.monomial_crystals.InfinityCrystalOfNakajimaMonomials(ct, category, elt_class)

Let $$Y_{i,k}$$, for $$i \in I$$ and $$k \in \ZZ$$, be a commuting set of variables, and let $$\boldsymbol{1}$$ be a new variable which commutes with each $$Y_{i,k}$$. (Here, $$I$$ represents the index set of a Cartan datum.) One may endow the structure of a crystal on the set $$\widehat{\mathcal{M}}$$ of monomials of the form

$M = \prod_{(i,k) \in I\times \ZZ_{\ge0}} Y_{i,k}^{y_i(k)}\boldsymbol{1}.$

Elements of $$\widehat{\mathcal{M}}$$ are called modified Nakajima monomials. We will omit the $$\boldsymbol{1}$$ from the end of a monomial if there exists at least one $$y_i(k) \neq 0$$. The crystal structure on this set is defined by

\begin{split}\begin{aligned} \mathrm{wt}(M) &= \sum_{i\in I} \Bigl( \sum_{k\ge 0} y_i(k) \Bigr) \Lambda_i, \\ \varphi_i(M) &= \max\Bigl\{ \sum_{0\le j \le k} y_i(j) : k\ge 0 \Bigr\}, \\ \varepsilon_i(M) &= \varphi_i(M) - \langle h_i, \mathrm{wt}(M) \rangle, \\ k_f = k_f(M) &= \min\Bigl\{ k\ge 0 : \varphi_i(M) = \sum_{0\le j\le k} y_i(j) \Bigr\}, \\ k_e = k_e(M) &= \max\Bigl\{ k\ge 0 : \varphi_i(M) = \sum_{0\le j\le k} y_i(j) \Bigr\}, \end{aligned}\end{split}

where $$\{h_i : i \in I\}$$ and $$\{\Lambda_i : i \in I \}$$ are the simple coroots and fundamental weights, respectively. With a chosen set of integers $$C = (c_{ij})_{i\neq j}$$ such that $$c_{ij}+c{ji} =1$$, one defines

$A_{i,k} = Y_{i,k} Y_{i,k+1} \prod_{j\neq i} Y_{j,k+c_{ji}}^{a_{ji}},$

where $$(a_{ij})$$ is a Cartan matrix. Then

\begin{split}\begin{aligned} e_iM &= \begin{cases} 0 & \text{if } \varepsilon_i(M) = 0, \\ A_{i,k_e}M & \text{if } \varepsilon_i(M) > 0, \end{cases} \\ f_iM &= A_{i,k_f}^{-1} M. \end{aligned}\end{split}

It is shown in [KKS07] that the connected component of $$\widehat{\mathcal{M}}$$ containing the element $$\boldsymbol{1}$$, which we denote by $$\mathcal{M}(\infty)$$, is crystal isomorphic to the crystal $$B(\infty)$$.

INPUT:

• cartan_type – A Cartan type
• use_Y – Choice of monomials in terms of $$A$$ or $$Y$$

EXAMPLES:

sage: B = InfinityCrystalOfTableaux("C3")
sage: S = B.subcrystal(max_depth=4)
sage: G = B.digraph(subset=S) # long time
sage: M = InfinityCrystalOfNakajimaMonomials("C3") # long time
sage: T = M.subcrystal(max_depth=4) # long time
sage: H = M.digraph(subset=T) # long time
sage: G.is_isomorphic(H,edge_labels=True) # long time
True

sage: M = InfinityCrystalOfNakajimaMonomials(['A',2,1])
sage: T = M.subcrystal(max_depth=3)
sage: H = M.digraph(subset=T) # long time
sage: Y = InfinityCrystalOfGeneralizedYoungWalls(2) # long time
sage: YS = Y.subcrystal(max_depth=3) # long time
sage: YG = Y.digraph(subset=YS) # long time
sage: YG.is_isomorphic(H,edge_labels=True) # long time
True

sage: M = InfinityCrystalOfNakajimaMonomials("D4")
sage: B = InfinityCrystalOfTableaux("D4")
sage: MS = M.subcrystal(max_depth=3)
sage: BS = B.subcrystal(max_depth=3)
sage: MG = M.digraph(subset=MS) # long time
sage: BG = B.digraph(subset=BS) # long time
sage: BG.is_isomorphic(MG,edge_labels=True) # long time
True

cardinality()

Return the cardinality of self, which is always $$\infty$$.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['A',5,2])
sage: M.cardinality()
+Infinity

class sage.combinat.crystals.monomial_crystals.NakajimaAMonomial(parent, dict)

Monomials of the form $$A_{i_1,k_1}^{a_1}\cdots A_{i_t,k_t}^{a_t}$$, where $$i_1,\dots,i_t$$ are elements of the index set, $$k_1,\dots,k_t$$ are nonnegative integers, and $$a_1,\dots,a_t$$ are integers.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials("A3",use_Y=False)
sage: mg = M.module_generators[0]
sage: mg.f_string([1,2,3,2,1])
A(1,0)^-1 A(1,1)^-1 A(2,0)^-2 A(3,0)^-1
sage: mg.f_string([3,2,1])
A(1,2)^-1 A(2,1)^-1 A(3,0)^-1

e(i)

Return the action of $$e_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['D',4,1],use_Y=False)
sage: m = M.module_generators[0].f_string([4,2,3,0])
sage: [m.e(i) for i in M.index_set()]
[A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 ,
None,
None,
A(0,2)^-1 A(2,1)^-1 A(4,0)^-1 ,
None]

epsilon(i)

Return the action of $$\varepsilon_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['C',4,1],use_Y=False)
sage: m = M.module_generators[0].f_string([4,2,3])
sage: [m.epsilon(i) for i in M.index_set()]
[0, 0, 0, 1, 0]

f(i)

Return the action of $$f_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials("E8",use_Y=False)
sage: m = M.module_generators[0].f_string([4,2,3,8])
sage: m
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(8,0)^-1
sage: [m.f(i) for i in M.index_set()]
[A(1,2)^-1 A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(8,0)^-1 ,
A(2,0)^-1 A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,0)^-1 A(3,1)^-1 A(4,0)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(4,1)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(5,0)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(6,0)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(7,1)^-1 A(8,0)^-1 ,
A(2,1)^-1 A(3,1)^-1 A(4,0)^-1 A(8,0)^-2 ]

phi(i)

Return the action of $$\varphi_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['C',4,1],use_Y=False)
sage: m = M.module_generators[0].f_string([4,2,3])
sage: [m.phi(i) for i in M.index_set()]
[0, 1, -1, 2, -1]

to_Y_monomial()

Represent $$\prod_{(i,k)} A_{i,k}^{a_{i}(k)}$$ in the form $$\prod_{(i,k)} Y_{i,k}^{y_i(k)}$$ using the formula

$\begin{split}A_{i,k} = Y_{i,k} Y_{i,k+1} \prod_{\substack{j \in I \\ j\neq i}} Y_{i,k+c_{ji}}^{a_{ji}}.\end{split}$

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['A',2,1],use_Y=False)
sage: m = M.module_generators[0].f_string([2,0,1,2,1])
sage: m
A(0,0)^-1 A(1,0)^-1 A(1,1)^-1 A(2,0)^-1 A(2,1)^-1
sage: m.to_Y_monomial()
Y(0,1) Y(0,2) Y(1,1)^-1 Y(2,2)^-1

weight()

Return the weight of self as an element of self.parent().weight_lattice_realization().

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['A',4,2],use_Y=False)
sage: m = M.module_generators[0].f_string([1,2,0,1])
sage: m.weight()
2*Lambda[0] - Lambda[1]

weight_in_root_lattice()

Return the weight of self as an element of the root lattice.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['C',3,1],use_Y=False)
sage: m = M.module_generators[0].f_string([3,0,1,2,0])
sage: m.weight_in_root_lattice()
-2*alpha[0] - alpha[1] - alpha[2] - alpha[3]

class sage.combinat.crystals.monomial_crystals.NakajimaYMonomial(parent, dict)

Monomials of the form $$Y_{i_1,k_1}^{a_1}\cdots Y_{i_t,k_t}^{y_t}$$, where $$i_1,\dots,i_t$$ are elements of the index set, $$k_1,\dots,k_t$$ are nonnegative integers, and $$y_1,\dots,y_t$$ are integers.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['B',3,1])
sage: mg = M.module_generators[0]
sage: mg
1
sage: mg.f_string([1,3,2,0,1,2,3,0,0,1])
Y(0,0)^-1 Y(0,1)^-1 Y(0,2)^-1 Y(0,3)^-1 Y(1,0)^-3 Y(1,1)^-2 Y(1,2) Y(2,0)^3 Y(2,2) Y(3,0) Y(3,2)^-1

e(i)

Return the action of $$e_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['E',7,1])
sage: m = M.module_generators[0].f_string([0,1,4,3])
sage: [m.e(i) for i in M.index_set()]
[None,
None,
None,
Y(0,0)^-1 Y(1,1)^-1 Y(2,1) Y(3,0) Y(3,1) Y(4,0)^-1 Y(4,1)^-1 Y(5,0) ,
None,
None,
None,
None]

sage: M = InfinityCrystalOfNakajimaMonomials("C5")
sage: m = M.module_generators[0].f_string([1,3])
sage: [m.e(i) for i in M.index_set()]
[Y(2,1) Y(3,0)^-1 Y(3,1)^-1 Y(4,0) ,
None,
Y(1,0)^-1 Y(1,1)^-1 Y(2,0) ,
None,
None]

epsilon(i)

Return the value of $$\varepsilon_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['G',2,1])
sage: m = M.module_generators[0].f(2)
sage: [m.epsilon(i) for i in M.index_set()]
[0, 0, 1]

f(i)

Return the action of $$f_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials("B4")
sage: m = M.module_generators[0].f_string([1,3,4])
sage: [m.f(i) for i in M.index_set()]
[Y(1,0)^-2 Y(1,1)^-2 Y(2,0)^2 Y(2,1) Y(3,0)^-1 Y(4,0) Y(4,1)^-1 ,
Y(1,0)^-1 Y(1,1)^-1 Y(1,2) Y(2,0) Y(2,2)^-1 Y(3,0)^-1 Y(3,1) Y(4,0) Y(4,1)^-1 ,
Y(1,0)^-1 Y(1,1)^-1 Y(2,0) Y(2,1)^2 Y(3,0)^-2 Y(3,1)^-1 Y(4,0)^3 Y(4,1)^-1 ,
Y(1,0)^-1 Y(1,1)^-1 Y(2,0) Y(2,1) Y(3,0)^-1 Y(3,1) Y(4,1)^-2 ]

phi(i)

Return the value of $$\varphi_i$$ on self.

INPUT:

• i – an element of the index set

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['D',4,3])
sage: m = M.module_generators[0].f(1)
sage: [m.phi(i) for i in M.index_set()]
[1, -1, 1]

weight()

Return the weight of self as an element of self.parent().weight_lattice_realization.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['D',4,2])
sage: m = M.module_generators[0].f_string([0,3,2,0,1])
sage: m.weight()
-2*Lambda[0] + Lambda[1]

sage: M = InfinityCrystalOfNakajimaMonomials(['E',6])
sage: m = M.module_generators[0].f_string([1,5,2,6,3])
sage: m.weight()
(-1/2, -3/2, 3/2, 1/2, -1/2, 1/2, 1/2, -1/2)

weight_in_root_lattice()

Return the weight of self as an element of the root lattice.

EXAMPLES:

sage: M = InfinityCrystalOfNakajimaMonomials(['F',4])
sage: m = M.module_generators[0].f_string([3,3,1,2,4])
sage: m.weight_in_root_lattice()
-alpha[1] - alpha[2] - 2*alpha[3] - alpha[4]

sage: M = InfinityCrystalOfNakajimaMonomials(['B',3,1])
sage: mg = M.module_generators[0]
sage: m = mg.f_string([1,3,2,0,1,2,3,0,0,1])
sage: m.weight_in_root_lattice()
-3*alpha[0] - 3*alpha[1] - 2*alpha[2] - 2*alpha[3]


#### Previous topic

$$\mathcal{B}(\infty)$$ Crystals of Tableaux in Nonexceptional Types and $$G_2$$

Posets