In [1]:
# The Generalized Temperley-Lieb Algebra in type A is just the (normal) Temperley-Lieb Algebra.
R.<v> = LaurentPolynomialRing(ZZ)
T = GeneralizedTemperleyLiebAlgebra('A', 4, R, v + 1/v)
U1, U2, U3 = T.algebra_generators()
In [21]:
# The basis elements are indexed by decorated Temperley-Lieb diagrams
U1
Out[21]:
B[{{-5,5,1},{-4,4,1},{-3,3,1},{-2,-1,d},{1,2,d}}]
In [3]:
U1.plot()
Out[3]:
In [4]:
(U1*U2*U1).plot()
Out[4]:
In [5]:
# Type B
R.<v> = LaurentPolynomialRing(QQ)
T = GeneralizedTemperleyLiebAlgebra('B', 5, R, v + 1/v)
U1, U2, U3, U4 = T.algebra_generators()
In [6]:
U1
Out[6]:
B[{{-5,5,1},{-4,4,1},{-3,3,1},{-2,-1,d},{1,2,d}}]
In [7]:
U1.plot()
Out[7]:
In [8]:
(U1*U2*U1*U2).plot()
Out[8]:
In [9]:
# TL Algebras have a canonical basis, indexed by the fully commutative elements of W
C = T.canonical_basis(); FC = C.keys()
In [10]:
C[FC([2, 1, 3, 2, 4, 3])].plot()
Out[10]:
In [13]:
C[FC([1, 3, 2, 4, 1])].plot()
Out[13]:
In [14]:
# In type B, certain canonical diagrams are best represented with a "square" decoration;
# we can re-express a B-canonical diagrams using this decoration:
C[FC([1, 3, 2, 4, 1])].canonical_redecoration().plot()
Out[14]:
In [16]:
# Type H is also supported
R.<v> = LaurentPolynomialRing(ZZ)
T = GeneralizedTemperleyLiebAlgebra('H', 5, R, v + 1/v)
U1, U2, U3, U4 = T.algebra_generators()
In [18]:
U1.plot()
Out[18]:
In [19]:
(U1*U2*U1*U2*U1).plot()
Out[19]:
In [20]:
(3*U1*U2*U1 - U1).plot()
Out[20]: