# Affine nilTemperley Lieb Algebra of type A#

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

Construct the affine nilTemperley Lieb algebra of type $$A_{n-1}^{(1)}$$ as used in [Pos2005].

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*a*a == a*a*a
True
sage: a*a*a
0
sage: A.an_element()
2*a0 + 1 + 3*a1 + 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()#

Return 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
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*s*s*s*s,0)
False
sage: A.has_no_braid_relation(s*s*s*s*s,2)
True
sage: A.has_no_braid_relation(s,2)
True

index_set()#

EXAMPLES:

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

one_basis()#

Return 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)#

Return $$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,x) for x in s]
[a1*a0, 0, a1*a2, a3*a1, a4*a1]

sage: a = A.algebra_generators()
sage: x = a * a
sage: x
a1*a2
sage: x * a
0
sage: x * a
0
sage: x * a
a1*a2*a0

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

sage: w = s*s*s
sage: A.product_on_basis(w,s)
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)