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)