$$\mathcal{B}(\infty)$$ Crystal Of PBW Monomials#

AUTHORS:

• Dinakar Muthiah (2015-05-11): initial version

For information on PBW datum, see PBW Data.

class sage.combinat.crystals.pbw_crystal.PBWCrystal(cartan_type)#

Crystal of $$\mathcal{B}(\infty)$$ given by PBW monomials.

A model of the crystal $$\mathcal{B}(\infty)$$ whose elements are PBW datum up to equivalence by the tropical Plücker relations. The crystal structure on Lusztig data $$x = (x_1, \ldots, x_m)$$ for the reduced word $$s_{i_1} \cdots s_{i_m} = w_0$$ is given as follows. Suppose $$i_1 = j$$, then $$f_j x = (x_1 + 1, x_2, \ldots, x_m)$$. If $$i_1 \neq j$$, then we use the tropical Plücker relations to change the reduced expression such that $$i_1' = j$$ and then we change back to the original word.

EXAMPLES:

sage: PBW = crystals.infinity.PBW(['B', 3])
sage: hw = PBW.highest_weight_vector()
sage: x = hw.f_string([1,2,2,3,3,1,3,3,2,3,2,1,3,1,2,3,1,2,1,3,2]); x
PBW monomial with Lusztig datum (1, 1, 1, 3, 1, 0, 0, 1, 1)


Elements are expressed in terms of Lusztig datum for a fixed reduced expression of $$w_0$$:

sage: PBW.default_long_word()
[1, 3, 2, 3, 1, 2, 3, 1, 2]
sage: PBW.set_default_long_word([2,1,3,2,1,3,2,3,1])
sage: x
PBW monomial with Lusztig datum (3, 1, 1, 0, 1, 0, 1, 3, 4)
sage: PBW.set_default_long_word([1, 3, 2, 3, 1, 2, 3, 1, 2])


We can construct elements by giving it Lusztig data (with respect to the default long word):

sage: PBW([1,1,1,3,1,0,0,1,1])
PBW monomial with Lusztig datum (1, 1, 1, 3, 1, 0, 0, 1, 1)


We can also construct elements by passing in a reduced expression for a long word:

sage: x = PBW([1,1,1,3,1,0,0,1,1], [3,2,1,3,2,3,2,1,2]); x
PBW monomial with Lusztig datum (1, 1, 1, 0, 1, 0, 5, 1, 1)
sage: x.to_highest_weight()[1]
[1, 2, 2, 2, 2, 2, 1, 3, 3, 3, 3, 2, 3, 2, 3, 3, 2, 3, 3, 2, 1, 3]

Element#

alias of PBWCrystalElement

default_long_word()#

Return the default long word used to express elements of self.

EXAMPLES:

sage: B = crystals.infinity.PBW(['E', 6])
sage: B.default_long_word()
[1, 3, 4, 5, 6, 2, 4, 5, 3, 4, 1, 3, 2, 4, 5, 6, 2, 4,
5, 3, 4, 1, 3, 2, 4, 5, 3, 4, 1, 3, 2, 4, 1, 3, 2, 1]

set_default_long_word(word)#

Set the default long word used to express elements of self.

EXAMPLES:

sage: B = crystals.infinity.PBW(['C', 3])
sage: B.default_long_word()
[1, 3, 2, 3, 1, 2, 3, 1, 2]
sage: x = B.highest_weight_vector().f_string([2,1,3,2,3,1,2,3,3,1])
sage: x
PBW monomial with Lusztig datum (1, 2, 2, 0, 0, 0, 0, 0, 1)
sage: B.set_default_long_word([2,1,3,2,1,3,2,3,1])
sage: B.default_long_word()
[2, 1, 3, 2, 1, 3, 2, 3, 1]
sage: x
PBW monomial with Lusztig datum (2, 0, 0, 0, 0, 0, 1, 3, 2)

class sage.combinat.crystals.pbw_crystal.PBWCrystalElement(parent, lusztig_datum, long_word=None)#

A crystal element in the PBW model.

e(i)#

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

EXAMPLES:

sage: B = crystals.infinity.PBW(['B', 3])
sage: b = B.highest_weight_vector()
sage: c = b.f_string([2,1,3,2,1,3,2,2]); c
PBW monomial with Lusztig datum (0, 1, 0, 1, 0, 0, 0, 1, 2)
sage: c.e(2)
PBW monomial with Lusztig datum (0, 1, 0, 1, 0, 0, 0, 1, 1)
sage: c.e_string([2,2,1,3,2,1,3,2]) == b
True

epsilon(i)#

Return $$\varepsilon_i$$ of self.

EXAMPLES:

sage: B = crystals.infinity.PBW(["A2"])
sage: s = B((3,0,0), (1,2,1))
sage: s.epsilon(1)
3
sage: s.epsilon(2)
0

f(i)#

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

EXAMPLES:

sage: B = crystals.infinity.PBW("D4")
sage: b = B.highest_weight_vector()
sage: c = b.f_string([1,2,3,1,2,3,4]); c
PBW monomial with Lusztig datum (0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0)
sage: c == b.f_string([1,2,4,1,2,3,3])
True

lusztig_datum(word=None)#

Return the Lusztig datum of self with respect to the reduced expression of the long word word.

EXAMPLES:

sage: B = crystals.infinity.PBW(['A', 2])
sage: u = B.highest_weight_vector()
sage: b = u.f_string([2,1,2,2,2,2,1,1,2,1,2,1,2,1,2,2])
sage: b.lusztig_datum()
(6, 0, 10)
sage: b.lusztig_datum(word=[2,1,2])
(4, 6, 0)

phi(i)#

Return $$\varphi_i$$ of self.

EXAMPLES:

sage: B = crystals.infinity.PBW(['A', 2])
sage: s = B((3,0,0), (1,2,1))
sage: s.phi(1)
-3
sage: s.phi(2)
3

star()#

Return the starred crystal element corresponding to self.

Let $$b$$ be an element of self with Lusztig datum $$(b_1, \ldots, b_N)$$ with respect to $$w_0 = s_{i_1} \cdots s_{i_N}$$. Then $$b^*$$ is the element with Lusztig datum $$(b_N, \ldots, b_1)$$ with respect to $$w_0 = s_{i_N^*} \cdots s_{i_1^*}$$, where $$i_j^* = \omega(i_j)$$ with $$\omega$$ being the automorphism given by the action of $$w_0$$ on the simple roots.

EXAMPLES:

sage: P = crystals.infinity.PBW(['A', 2])
sage: P((1,2,3), (1,2,1)).star() == P((3,2,1), (2,1,2))
True

sage: B = crystals.infinity.PBW(['E', 6])
sage: b = B.highest_weight_vector()
sage: c = b.f_string([1,2,6,3,4,2,5,2,3,4,1,6])
sage: c == c.star().star()
True

weight()#

Return weight of self.

EXAMPLES:

sage: B = crystals.infinity.PBW(['A', 2])
sage: s = B((2,2,2), (1,2,1))
sage: s.weight()
(-4, 0, 4)