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: - [HK2002] Chapter 10 
 - 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