Affine nilTemperley Lieb Algebra of type A

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

Bases: CombinatorialFreeModule

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

INPUT:

  • n – 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 + 1 + 3*a1 + a0*a1*a2*a3
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(4))
>>> a = A.algebra_generators(); a
Finite family {0: a0, 1: a1, 2: a2, 3: a3}
>>> a[Integer(1)]*a[Integer(2)]*a[Integer(0)] == a[Integer(1)]*a[Integer(0)]*a[Integer(2)]
True
>>> a[Integer(0)]*a[Integer(3)]*a[Integer(0)]
0
>>> A.an_element()
2*a0 + 1 + 3*a1 + a0*a1*a2*a3
algebra_generator(i)[source]

EXAMPLES:

sage: A = AffineNilTemperleyLiebTypeA(3)
sage: A.algebra_generator(1)
a1
sage: A = AffineNilTemperleyLiebTypeA(3, prefix = 't')
sage: A.algebra_generator(1)
t1
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(3))
>>> A.algebra_generator(Integer(1))
a1
>>> A = AffineNilTemperleyLiebTypeA(Integer(3), prefix = 't')
>>> A.algebra_generator(Integer(1))
t1
algebra_generators()[source]

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[1]
a1
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(3))
>>> a = A.algebra_generators();a
Finite family {0: a0, 1: a1, 2: a2}
>>> a[Integer(1)]
a1
has_no_braid_relation(w, i)[source]

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
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(5))
>>> W = A.weyl_group()
>>> s=W.simple_reflections()
>>> A.has_no_braid_relation(s[Integer(2)]*s[Integer(1)]*s[Integer(0)]*s[Integer(4)]*s[Integer(3)],Integer(0))
False
>>> A.has_no_braid_relation(s[Integer(2)]*s[Integer(1)]*s[Integer(0)]*s[Integer(4)]*s[Integer(3)],Integer(2))
True
>>> A.has_no_braid_relation(s[Integer(4)],Integer(2))
True
index_set()[source]

EXAMPLES:

sage: A = AffineNilTemperleyLiebTypeA(3)
sage: A.index_set()
(0, 1, 2)
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(3))
>>> A.index_set()
(0, 1, 2)
one_basis()[source]

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
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(3))
>>> A.one_basis()
[1 0 0]
[0 1 0]
[0 0 1]
>>> A.one_basis() == A.weyl_group().one()
True
>>> A.one()
1
product_on_basis(w, w1)[source]

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[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
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(5))
>>> W = A.weyl_group()
>>> s = W.simple_reflections()
>>> [A.product_on_basis(s[Integer(1)],x) for x in s]
[a1*a0, 0, a1*a2, a3*a1, a4*a1]

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

>>> [x * a[Integer(1)] for x in a]
[a0*a1, 0, a2*a1, a3*a1, a4*a1]

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

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)
>>> from sage.all import *
>>> A = AffineNilTemperleyLiebTypeA(Integer(3))
>>> A.weyl_group()
Weyl Group of type ['A', 2, 1] (as a matrix group acting on the root space)