### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Combinatorial Algebras »

# Affine nilTemperley Lieb Algebra of type A

class `sage.algebras.affine_nil_temperley_lieb.``AffineNilTemperleyLiebTypeA`(n, R=Integer Ring, prefix='a')

  Bases: `sage.combinat.free_module.CombinatorialFreeModule`

  Constructs the affine nilTemperley Lieb algebra of type \(A_{n-1}^{(1)}\) as used in [P2005].

  REFERENCES:

  > [P2005] | Postnikov, Affine approach to quantum Schubert calculus, Duke Math. J. 128 (2005) 473-509

  INPUT:

  > - `n` – a positive integer

  The affine nilTemperley Lieb algebra is generated by \(a_i\) for \(i=0,1,\ldots,n-1\) subject to the relations \(a_i a_i = a_i a_{i+1} a_i = a_{i+1} a_i a_{i+1} = 0\) and \(a_i a_j = a_j a_i\) for \(i-j \not \equiv \pm 1\), where the indices are taken modulo \(n\).

  EXAMPLES:

      sage: A = AffineNilTemperleyLiebTypeA(4)
      sage: a = A.algebra_generators(); a
      Finite family {0: a0, 1: a1, 2: a2, 3: a3}
      sage: a[1]*a[2]*a[0] == a[1]*a[0]*a[2]
      True
      sage: a[0]*a[3]*a[0]
      0
      sage: A.an_element()
      2*a0 + 3*a0*a1 + 1 + a0*a1*a2*a3

  `algebra_generator`(i)

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(3)
        sage: A.algebra_generator(1)
        a1
        sage: A = AffineNilTemperleyLiebTypeA(3, prefix = 't')
        sage: A.algebra_generator(1)
        t1

  `algebra_generators`()

    Returns the generators \(a_i\) for \(i=0,1,2,\ldots,n-1\).

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(3)
        sage: a = A.algebra_generators();a
        Finite family {0: a0, 1: a1, 2: a2}
        sage: a[1]
        a1

  `has_no_braid_relation`(w, i)

    Assuming that \(w\) contains no relations of the form \(s_i^2\) or \(s_i s_{i+1} s_i\) or \(s_i s_{i-1} s_i\), tests whether \(w s_i\) contains terms of this form.

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(5)
        sage: W = A.weyl_group()
        sage: s=W.simple_reflections()
        sage: A.has_no_braid_relation(s[2]*s[1]*s[0]*s[4]*s[3],0)
        False
        sage: A.has_no_braid_relation(s[2]*s[1]*s[0]*s[4]*s[3],2)
        True
        sage: A.has_no_braid_relation(s[4],2)
        True

  `index_set`()

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(3)
        sage: A.index_set()
        (0, 1, 2)

  `one_basis`()

    Returns the unit of the underlying Weyl group, which index the one of this algebra, as per `AlgebrasWithBasis.ParentMethods.one_basis()`.

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(3)
        sage: A.one_basis()
        [1 0 0]
        [0 1 0]
        [0 0 1]
        sage: A.one_basis() == A.weyl_group().one()
        True
        sage: A.one()
        1

  `product_on_basis`(w, w1)

    Returns \(a_w a_{w1}\), where \(w\) and \(w1\) are in the Weyl group assuming that \(w\) does not contain any braid relations.

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(5)
        sage: W = A.weyl_group()
        sage: s = W.simple_reflections()
        sage: [A.product_on_basis(s[1],x) for x in s]
        [a1*a0, 0, a1*a2, a3*a1, a4*a1]

        sage: a = A.algebra_generators()
        sage: x = a[1] * a[2]
        sage: x
        a1*a2
        sage: x * a[1]
        0
        sage: x * a[2]
        0
        sage: x * a[0]
        a1*a2*a0

        sage: [x * a[1] for x in a]
        [a0*a1, 0, a2*a1, a3*a1, a4*a1]

        sage: w = s[1]*s[2]*s[1]
        sage: A.product_on_basis(w,s[1])
        Traceback (most recent call last):
        ...
        AssertionError

  `weyl_group`()

    EXAMPLES:

        sage: A = AffineNilTemperleyLiebTypeA(3)
        sage: A.weyl_group()
        Weyl Group of type ['A', 2, 1] (as a matrix group acting on the root space)

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Combinatorial Algebras »