Affinization Crystals#

class sage.combinat.crystals.affinization.AffinizationOfCrystal(B)[source]#

Bases: UniqueRepresentation, Parent

An affinization of a crystal.

Let \(\mathfrak{g}\) be a Kac-Moody algebra of affine type. The affinization of a finite \(U_q^{\prime}(\mathfrak{g})\)-crystal \(B\) is the (infinite) \(U_q(\mathfrak{g})\)-crystal with underlying set:

\[B^{\mathrm{aff}} = \{ b(m) \mid b \in B, m \in \ZZ \}\]

and crystal structure determined by:

\[\begin{split}\begin{aligned} e_i(b(m)) & = \begin{cases} (e_0 b)(m+1) & i = 0, \\ (e_i b)(m) & i \neq 0, \end{cases} \\ f_i(b(m)) &= \begin{cases} (f_0 b)(m-1) & i = 0, \\ (f_i b)(m) & i \neq 0, \end{cases} \\ \mathrm{wt}(b(m)) &= \mathrm{wt}(b) + m \delta. \end{aligned}\end{split}\]

EXAMPLES:

We first construct a Kirillov-Reshetikhin crystal and then take it’s corresponding affinization:

sage: K = crystals.KirillovReshetikhin(['A',2,1], 2, 2)
sage: A = K.affinization()
>>> from sage.all import *
>>> K = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2), Integer(2))
>>> A = K.affinization()

Next we construct an affinization crystal from a tensor product of KR crystals:

sage: KT = crystals.TensorProductOfKirillovReshetikhinTableaux(['C',2,1], [[1,2],[2,1]])
sage: A = crystals.AffinizationOf(KT)
>>> from sage.all import *
>>> KT = crystals.TensorProductOfKirillovReshetikhinTableaux(['C',Integer(2),Integer(1)], [[Integer(1),Integer(2)],[Integer(2),Integer(1)]])
>>> A = crystals.AffinizationOf(KT)

REFERENCES:

class Element(parent, b, m)[source]#

Bases: Element

An element in an affinization crystal.

e(i)[source]#

Return the action of \(e_i\) on self.

INPUT:

  • i – an element of the index set

EXAMPLES:

sage: A = crystals.KirillovReshetikhin(['A',2,1], 2,2).affinization()
sage: mg = A.module_generators[0]
sage: mg.e(0)
[[1, 2], [2, 3]](1)
sage: mg.e(1)
sage: mg.e(0).e(1)
[[1, 1], [2, 3]](1)
>>> from sage.all import *
>>> A = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2),Integer(2)).affinization()
>>> mg = A.module_generators[Integer(0)]
>>> mg.e(Integer(0))
[[1, 2], [2, 3]](1)
>>> mg.e(Integer(1))
>>> mg.e(Integer(0)).e(Integer(1))
[[1, 1], [2, 3]](1)
epsilon(i)[source]#

Return \(\varepsilon_i\) of self.

INPUT:

  • i – an element of the index set

EXAMPLES:

sage: A = crystals.KirillovReshetikhin(['A',2,1], 2,2).affinization()
sage: mg = A.module_generators[0]
sage: mg.epsilon(0)
2
sage: mg.epsilon(1)
0
>>> from sage.all import *
>>> A = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2),Integer(2)).affinization()
>>> mg = A.module_generators[Integer(0)]
>>> mg.epsilon(Integer(0))
2
>>> mg.epsilon(Integer(1))
0
f(i)[source]#

Return the action of \(f_i\) on self.

INPUT:

  • i – an element of the index set

EXAMPLES:

sage: A = crystals.KirillovReshetikhin(['A',2,1], 2,2).affinization()
sage: mg = A.module_generators[0]
sage: mg.f(2)
[[1, 1], [2, 3]](0)
sage: mg.f(2).f(2).f(0)
sage: mg.f_string([2,1,1])
sage: mg.f_string([2,1])
[[1, 2], [2, 3]](0)
sage: mg.f_string([2,1,0])
[[1, 1], [2, 2]](-1)
>>> from sage.all import *
>>> A = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2),Integer(2)).affinization()
>>> mg = A.module_generators[Integer(0)]
>>> mg.f(Integer(2))
[[1, 1], [2, 3]](0)
>>> mg.f(Integer(2)).f(Integer(2)).f(Integer(0))
>>> mg.f_string([Integer(2),Integer(1),Integer(1)])
>>> mg.f_string([Integer(2),Integer(1)])
[[1, 2], [2, 3]](0)
>>> mg.f_string([Integer(2),Integer(1),Integer(0)])
[[1, 1], [2, 2]](-1)
phi(i)[source]#

Return \(\varphi_i\) of self.

INPUT:

  • i – an element of the index set

EXAMPLES:

sage: A = crystals.KirillovReshetikhin(['A',2,1], 2,2).affinization()
sage: mg = A.module_generators[0]
sage: mg.phi(0)
0
sage: mg.phi(2)
2
>>> from sage.all import *
>>> A = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2),Integer(2)).affinization()
>>> mg = A.module_generators[Integer(0)]
>>> mg.phi(Integer(0))
0
>>> mg.phi(Integer(2))
2
weight()[source]#

Return the weight of self.

The weight \(\mathrm{wt}\) of an element is:

\[\mathrm{wt}\bigl( b(m) \bigr) = \mathrm{wt}(b) + m \delta,\]

where \(\delta\) is the null root.

EXAMPLES:

sage: A = crystals.KirillovReshetikhin(['A',2,1], 2,2).affinization()
sage: mg = A.module_generators[0]
sage: mg.weight()
-2*Lambda[0] + 2*Lambda[2]
sage: mg.e(0).weight()
-Lambda[1] + Lambda[2] + delta
sage: mg.e(0).e(0).weight()
2*Lambda[0] - 2*Lambda[1] + 2*delta
>>> from sage.all import *
>>> A = crystals.KirillovReshetikhin(['A',Integer(2),Integer(1)], Integer(2),Integer(2)).affinization()
>>> mg = A.module_generators[Integer(0)]
>>> mg.weight()
-2*Lambda[0] + 2*Lambda[2]
>>> mg.e(Integer(0)).weight()
-Lambda[1] + Lambda[2] + delta
>>> mg.e(Integer(0)).e(Integer(0)).weight()
2*Lambda[0] - 2*Lambda[1] + 2*delta