def _homogeneous_generators_noncommutative_variables_zero_Hecke(self, r): r""" Returns the ``r^{th}`` homogeneous generator, viewed as an element inside the affine zero Hecke algebra. This is the sum of all cyclicly decreasing elements of order ``r``. INPUT: - ``r`` -- A positive integer OUTPUT: - An element of the affine zero Hecke algebra. EXAMPLES:: sage: g = SymmetricFunctions(QQ).kBoundedSubspace(3,1).K_kschur() sage: g._homogeneous_generators_noncommutative_variables_zero_Hecke(2) T1*T0 + T2*T0 + T0*T3 + T3*T2 + T3*T1 + T2*T1 sage: g._homogeneous_generators_noncommutative_variables_zero_Hecke(0) 1 """ from sage.combinat.root_system.weyl_group import WeylGroup from sage.algebras.iwahori_hecke_algebra import IwahoriHeckeAlgebraT W = WeylGroup(['A',self.k,1]) H = IwahoriHeckeAlgebraT(W, 0, base_ring = self.base_ring()) Hgens = H.algebra_generators() S = [w.reduced_word() for w in W.pieri_factors() if w.length() == r] return sum( (prod((Hgens[i] for i in w), 1) for w in S), 0 )
def _homogeneous_generators_noncommutative_variables_zero_Hecke(self, r): r""" Returns the ``r^{th}`` homogeneous generator, viewed as an element inside the affine zero Hecke algebra. This is the sum of all cyclicly decreasing elements of order ``r``. INPUT: - ``r`` -- A positive integer OUTPUT: - An element of the affine zero Hecke algebra. EXAMPLES:: sage: g = SymmetricFunctions(QQ).kBoundedSubspace(3,1).K_kschur() sage: g._homogeneous_generators_noncommutative_variables_zero_Hecke(2) T1*T0 + T2*T0 + T0*T3 + T3*T2 + T3*T1 + T2*T1 sage: g._homogeneous_generators_noncommutative_variables_zero_Hecke(0) 1 """ from sage.combinat.root_system.weyl_group import WeylGroup from sage.algebras.iwahori_hecke_algebra import IwahoriHeckeAlgebraT W = WeylGroup(['A',self.k,1]) H = IwahoriHeckeAlgebraT(W, 0, base_ring = self.base_ring()) Hgens = H.algebra_generators() S = [w.reduced_word() for w in W.pieri_factors() if w.length() == r] return sum( (prod((Hgens[i] for i in w), 1) for w in S), 0 )
def __init__(self, W, base_ring=QQ, prefix='u'): r""" Initiate the affine nil-Coxeter algebra corresponding to the Weyl group `W` over the base ring. EXAMPLES:: sage: U = NilCoxeterAlgebra(WeylGroup(['A',3,1])); U The Nil-Coxeter Algebra of Type A3~ over Rational Field sage: TestSuite(U).run() sage: U = NilCoxeterAlgebra(WeylGroup(['C',3]), ZZ); U The Nil-Coxeter Algebra of Type C3 over Integer Ring sage: TestSuite(U).run() """ self._W = W self._n = W.n self._base_ring = base_ring self._cartan_type = W.cartan_type() IwahoriHeckeAlgebraT.__init__(self, W, 0, 0, base_ring, prefix=prefix)
def __init__(self, W, base_ring = QQ, prefix='u'): r""" Initiate the affine nil-Coxeter algebra corresponding to the Weyl group `W` over the base ring. EXAMPLES:: sage: U = NilCoxeterAlgebra(WeylGroup(['A',3,1])); U The Nil-Coxeter Algebra of Type A3~ over Rational Field sage: TestSuite(U).run() sage: U = NilCoxeterAlgebra(WeylGroup(['C',3]), ZZ); U The Nil-Coxeter Algebra of Type C3 over Integer Ring sage: TestSuite(U).run() """ self._W = W self._n = W.n self._base_ring = base_ring self._cartan_type = W.cartan_type() IwahoriHeckeAlgebraT.__init__(self, W, 0, 0, base_ring, prefix=prefix)