Bases: sage.combinat.free_module.CombinatorialFreeModule
Constructs the affine nilTemperley Lieb algebra of type 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 for
subject to the relations
and
for
, where the indices are taken modulo
.
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
EXAMPLES:
sage: A = AffineNilTemperleyLiebTypeA(3)
sage: A.algebra_generator(1)
a1
sage: A = AffineNilTemperleyLiebTypeA(3, prefix = 't')
sage: A.algebra_generator(1)
t1
Returns the generators for
.
EXAMPLES:
sage: A = AffineNilTemperleyLiebTypeA(3)
sage: a = A.algebra_generators();a
Finite family {0: a0, 1: a1, 2: a2}
sage: a[1]
a1
Assuming that contains no relations of the form
or
or
, tests whether
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
EXAMPLES:
sage: A = AffineNilTemperleyLiebTypeA(3)
sage: A.index_set()
(0, 1, 2)
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
Returns , where
and
are in the Weyl group
assuming that
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
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)