def __init__(self, cartan_type, B): r""" Initialize ``self``. EXAMPLES:: sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['A',3,1], [[3,1],[2,2]]); KRT Tensor product of Kirillov-Reshetikhin tableaux of type ['A', 3, 1] and factor(s) ((3, 1), (2, 2)) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[2,2]]) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[3,1]]) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[4,3]]) sage: TestSuite(KRT).run() # long time """ self.dims = B self.letters = CrystalOfLetters(cartan_type.classical()) tensor_prod = tuple(KirillovReshetikhinTableaux(cartan_type, rect_dims[0], rect_dims[1]) for rect_dims in B) FullTensorProductOfRegularCrystals.__init__(self, tensor_prod, cartan_type=cartan_type) # This is needed to override the module_generators set in FullTensorProductOfRegularCrystals self.module_generators = HighestWeightTensorKRT(self) self.rename("Tensor product of Kirillov-Reshetikhin tableaux of type %s and factor(s) %s"%(\ cartan_type, B))
def __init__(self, cartan_type, B, biject_class): r""" Construct a tensor product of KR tableaux. INPUT: - ``cartan_type`` -- The crystal type and n value - ``B`` -- An (ordered) list of dimensions - ``biject_class`` -- The class the bijection creates The dimensions (i.e. `B`) is a list whose entries are lists of the form `[r, s]` which correspond to a tableau with `r` rows and `s` columns (or of shape `[r]*s`) and corresponds to a Kirillov-Reshetikhin crystal `B^{r,s}`. TESTS:: sage: HW = HighestWeightTensorProductOfKirillovReshetikhinTableaux(['A',3,1], [[3,1], [2,2]]); HW # indirect doctest Highest weight tensor product of Kirillov-Reshetikhin tableaux of type ['A', 3, 1] and tableau shape(s) [[1, 1, 1], [2, 2]] """ assert cartan_type.is_affine() self.affine_ct = cartan_type self.dims = B self.letters = CrystalOfLetters(cartan_type) self._bijection_class = biject_class tensorProd = [] for rectDims in B: tensorProd.append(KirillovReshetikhinTableaux(self.letters.cartan_type(), rectDims[0], rectDims[1])) FullTensorProductOfRegularCrystals.__init__(self, tuple(tensorProd))
def __init__(self, cartan_type, B): r""" Initialize ``self``. EXAMPLES:: sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['A',3,1], [[3,1],[2,2]]); KRT Tensor product of Kirillov-Reshetikhin tableaux of type ['A', 3, 1] and factor(s) ((3, 1), (2, 2)) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[2,2]]) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[3,1]]) sage: TestSuite(KRT).run() # long time sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[4,3]]) sage: TestSuite(KRT).run() # long time """ self.dims = B self.letters = CrystalOfLetters(cartan_type.classical()) tensor_prod = tuple( KirillovReshetikhinTableaux(cartan_type, rect_dims[0], rect_dims[1]) for rect_dims in B) FullTensorProductOfRegularCrystals.__init__(self, tensor_prod, cartan_type=cartan_type) # This is needed to override the module_generators set in FullTensorProductOfRegularCrystals self.module_generators = HighestWeightTensorKRT(self) self.rename("Tensor product of Kirillov-Reshetikhin tableaux of type %s and factor(s) %s"%(\ cartan_type, B))
def __init__(self, cartan_type, B, biject_class): r""" Construct a tensor product of KR tableaux. INPUT: - ``cartan_type`` -- The crystal type and n value - ``B`` -- An (ordered) list of dimensions - ``biject_class`` -- The class the bijection creates The dimensions (i.e. `B`) is a list whose entries are lists of the form `[r, s]` which correspond to a tableau with `r` rows and `s` columns (or of shape `[r]*s`) and corresponds to a Kirillov-Reshetikhin crystal `B^{r,s}`. TESTS:: sage: HW = HighestWeightTensorProductOfKirillovReshetikhinTableaux(['A',3,1], [[3,1], [2,2]]); HW # indirect doctest Highest weight tensor product of Kirillov-Reshetikhin tableaux of type ['A', 3, 1] and tableau shape(s) [[1, 1, 1], [2, 2]] """ assert cartan_type.is_affine() self.affine_ct = cartan_type self.dims = B self.letters = CrystalOfLetters(cartan_type) self._bijection_class = biject_class tensorProd = [] for rectDims in B: tensorProd.append( KirillovReshetikhinTableaux(self.letters.cartan_type(), rectDims[0], rectDims[1])) FullTensorProductOfRegularCrystals.__init__(self, tuple(tensorProd))