Nil-Coxeter Algebra - Algebras

Skip to content
Back to top
View this page
Edit this page

# Nil-Coxeter Algebra

class sage.algebras.nil_coxeter_algebra.NilCoxeterAlgebra(W, base_ring=Rational Field, prefix='u')

  Bases: `T`

  Construct the Nil-Coxeter algebra of given type.

  This is the algebra with generators \(u_i\) for every node \(i\) of the corresponding Dynkin diagram. It has the usual braid relations (from the Weyl group) as well as the quadratic relation \(u_i^2 = 0\).

  INPUT:

  - `W` – a Weyl group

  - `base_ring` – a ring (default: rational numbers)

  - `prefix` – a label for the generators (default: `'u'`)

  EXAMPLES:

  Sage

      sage: U = NilCoxeterAlgebra(WeylGroup(['A',3,1]))
      sage: u0, u1, u2, u3 = U.algebra_generators()
      sage: u1*u1
      0
      sage: u2*u1*u2 == u1*u2*u1
      True
      sage: U.an_element()
      u[0,1,2,3] + 2*u[0] + 3*u[1] + 1

  Python

      >>> from sage.all import *
      >>> U = NilCoxeterAlgebra(WeylGroup(['A',Integer(3),Integer(1)]))
      >>> u0, u1, u2, u3 = U.algebra_generators()
      >>> u1*u1
      0
      >>> u2*u1*u2 == u1*u2*u1
      True
      >>> U.an_element()
      u[0,1,2,3] + 2*u[0] + 3*u[1] + 1

  homogeneous_generator_noncommutative_variables(r)

    Give the \(r\)-th homogeneous function inside the Nil-Coxeter algebra. In finite type \(A\) this is the sum of all decreasing elements of length \(r\). In affine type \(A\) this is the sum of all cyclically decreasing elements of length \(r\). This is only defined in finite type \(A\), \(B\) and affine types \(A^{(1)}\), \(B^{(1)}\), \(C^{(1)}\), \(D^{(1)}\).

    INPUT:

    - `r` – positive integer at most the rank of the Weyl group

    EXAMPLES:

    Sage

        sage: U = NilCoxeterAlgebra(WeylGroup(['A',3,1]))
        sage: U.homogeneous_generator_noncommutative_variables(2)
        u[1,0] + u[2,0] + u[0,3] + u[3,2] + u[3,1] + u[2,1]

        sage: U = NilCoxeterAlgebra(WeylGroup(['B',4]))
        sage: U.homogeneous_generator_noncommutative_variables(2)
        u[1,2] + u[2,1] + u[3,1] + u[4,1] + u[2,3] + u[3,2] + u[4,2] + u[3,4] + u[4,3]

        sage: U = NilCoxeterAlgebra(WeylGroup(['C',3]))
        sage: U.homogeneous_generator_noncommutative_variables(2)
        Traceback (most recent call last):
        ...
        AssertionError: Analogue of symmetric functions in noncommutative variables is not defined in type ['C', 3]

    Python

        >>> from sage.all import *
        >>> U = NilCoxeterAlgebra(WeylGroup(['A',Integer(3),Integer(1)]))
        >>> U.homogeneous_generator_noncommutative_variables(Integer(2))
        u[1,0] + u[2,0] + u[0,3] + u[3,2] + u[3,1] + u[2,1]

        >>> U = NilCoxeterAlgebra(WeylGroup(['B',Integer(4)]))
        >>> U.homogeneous_generator_noncommutative_variables(Integer(2))
        u[1,2] + u[2,1] + u[3,1] + u[4,1] + u[2,3] + u[3,2] + u[4,2] + u[3,4] + u[4,3]

        >>> U = NilCoxeterAlgebra(WeylGroup(['C',Integer(3)]))
        >>> U.homogeneous_generator_noncommutative_variables(Integer(2))
        Traceback (most recent call last):
        ...
        AssertionError: Analogue of symmetric functions in noncommutative variables is not defined in type ['C', 3]

  homogeneous_noncommutative_variables(la)

    Give the homogeneous function indexed by \(la\), viewed inside the Nil-Coxeter algebra.

    This is only defined in finite type \(A\), \(B\) and affine types \(A^{(1)}\), \(B^{(1)}\), \(C^{(1)}\), \(D^{(1)}\).

    INPUT:

    - `la` – a partition with first part bounded by the rank of the Weyl group

    EXAMPLES:

    Sage

        sage: U = NilCoxeterAlgebra(WeylGroup(['B',2,1]))
        sage: U.homogeneous_noncommutative_variables([2,1])
        u[1,2,0] + 2*u[2,1,0] + u[0,2,0] + u[0,2,1] + u[1,2,1] + u[2,1,2] + u[2,0,2] + u[1,0,2]

    Python

        >>> from sage.all import *
        >>> U = NilCoxeterAlgebra(WeylGroup(['B',Integer(2),Integer(1)]))
        >>> U.homogeneous_noncommutative_variables([Integer(2),Integer(1)])
        u[1,2,0] + 2*u[2,1,0] + u[0,2,0] + u[0,2,1] + u[1,2,1] + u[2,1,2] + u[2,0,2] + u[1,0,2]

  k_schur_noncommutative_variables(la)

    In type \(A^{(1)}\) this is the \(k\)-Schur function in noncommutative variables defined by Thomas Lam [Lam2005].

    This function is currently only defined in type \(A^{(1)}\).

    INPUT:

    - `la` – a partition with first part bounded by the rank of the Weyl group

    EXAMPLES:

    Sage

        sage: A = NilCoxeterAlgebra(WeylGroup(['A',3,1]))
        sage: A.k_schur_noncommutative_variables([2,2])
        u[0,3,1,0] + u[3,1,2,0] + u[1,2,0,1] + u[3,2,0,3] + u[2,0,3,1] + u[2,3,1,2]

    Python

        >>> from sage.all import *
        >>> A = NilCoxeterAlgebra(WeylGroup(['A',Integer(3),Integer(1)]))
        >>> A.k_schur_noncommutative_variables([Integer(2),Integer(2)])
        u[0,3,1,0] + u[3,1,2,0] + u[1,2,0,1] + u[3,2,0,3] + u[2,0,3,1] + u[2,3,1,2]