def f(self, i): r""" Calculate the action of `f_i` on ``self``. EXAMPLES:: sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 1) sage: KRT([-1, -4, 3, 2]).f(1) sage: KRT([-1, -4, 3, 2]).f(3) [[2], [4], [-3], [-1]] """ half = TensorProductOfCrystalsElement.f(self, i) if half is None: return None return TensorProductOfCrystalsElement.f(half, i)
def f(self, i): r""" Return the action of `f_i` on ``self``. EXAMPLES:: sage: KRT = TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[2,1]]) sage: T = KRT(pathlist=[[4,3]]) sage: T.f(1) sage: T.f(4) [[-4], [4]] """ if i != 0: return TensorProductOfCrystalsElement.f(self, i) return None
def f(self, i): """ Perform the action of `f_i` on ``self``. .. TODO:: Implement a direct action of `f_0` without moving to KR crystals. EXAMPLES:: sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 2,2) sage: KRT.module_generators[0].f(0) [[1, 1], [2, -1]] """ if i == 0: ret = self.to_Kirillov_Reshetikhin_crystal().f0() if ret is None: return None return ret.to_Kirillov_Reshetikhin_tableau() return TensorProductOfCrystalsElement.f(self, i)