# Yokonuma-Hecke Algebras¶

AUTHORS:

• Travis Scrimshaw (2015-11): initial version
class sage.algebras.yokonuma_hecke_algebra.YokonumaHeckeAlgebra(d, n, q, R)

The Yokonuma-Hecke algebra $$Y_{d,n}(q)$$.

Let $$R$$ be a commutative ring and $$q$$ be a unit in $$R$$. The Yokonuma-Hecke algebra $$Y_{d,n}(q)$$ is the associative, unital $$R$$-algebra generated by $$t_1, t_2, \ldots, t_n, g_1, g_2, \ldots, g_{n-1}$$ and subject to the relations:

• $$g_i g_j = g_j g_i$$ for all $$|i - j| > 1$$,
• $$g_i g_{i+1} g_i = g_{i+1} g_i g_{i+1}$$,
• $$t_i t_j = t_j t_i$$,
• $$t_j g_i = g_i t_{j s_i}$$, and
• $$t_j^d = 1$$,

where $$s_i$$ is the simple transposition $$(i, i+1)$$, along with the quadratic relation

$g_i^2 = 1 + \frac{(q - q^{-1})}{d} \left( \sum_{s=0}^{d-1} t_i^s t_{i+1}^{-s} \right) g_i.$

Thus the Yokonuma-Hecke algebra can be considered a quotient of the framed braid group $$(\ZZ / d\ZZ) \wr B_n$$, where $$B_n$$ is the classical braid group on $$n$$ strands, by the quadratic relations. Moreover, all of the algebra generators are invertible. In particular, we have

$g_i^{-1} = g_i - (q - q^{-1}) e_i.$

When we specialize $$q = \pm 1$$, we obtain the group algebra of the complex reflection group $$G(d, 1, n) = (\ZZ / d\ZZ) \wr S_n$$. Moreover for $$d = 1$$, the Yokonuma-Hecke algebra is equal to the Iwahori-Hecke of type $$A_{n-1}$$.

INPUT:

• d – the maximum power of $$t$$
• n – the number of generators
• q – (optional) an invertible element in a commutative ring; the default is $$q \in \QQ[q,q^{-1}]$$
• R – (optional) a commutative ring containing q; the default is the parent of $$q$$

EXAMPLES:

We construct $$Y_{4,3}$$ and do some computations:

sage: Y = algebras.YokonumaHecke(4, 3)
sage: g1, g2, t1, t2, t3 = Y.algebra_generators()
sage: g1 * g2
g[1,2]
sage: t1 * g1
t1*g[1]
sage: g2 * t2
t3*g[2]
sage: g2 * t3
t2*g[2]
sage: (g2 + t1) * (g1 + t2*t3)
g[2,1] + t2*t3*g[2] + t1*g[1] + t1*t2*t3
sage: g1 * g1
1 - (1/4*q^-1-1/4*q)*g[1] - (1/4*q^-1-1/4*q)*t1*t2^3*g[1]
- (1/4*q^-1-1/4*q)*t1^2*t2^2*g[1] - (1/4*q^-1-1/4*q)*t1^3*t2*g[1]
sage: g2 * g1 * t1
t3*g[2,1]


We construct the elements $$e_i$$ and show that they are idempotents:

sage: e1 = Y.e(1); e1
1/4 + 1/4*t1*t2^3 + 1/4*t1^2*t2^2 + 1/4*t1^3*t2
sage: e1 * e1 == e1
True
sage: e2 = Y.e(2); e2
1/4 + 1/4*t2*t3^3 + 1/4*t2^2*t3^2 + 1/4*t2^3*t3
sage: e2 * e2 == e2
True


REFERENCES:

class Element

Bases: sage.modules.with_basis.indexed_element.IndexedFreeModuleElement

inverse()

Return the inverse if self is a basis element.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(3, 3)
sage: t = prod(Y.t()); t
t1*t2*t3
sage: ~t
t1^2*t2^2*t3^2
sage: [3*~(t*g) for g in Y.g()]
[(q^-1+q)*t2*t3^2 + (q^-1+q)*t1*t3^2
+ (q^-1+q)*t1^2*t2^2*t3^2 + 3*t1^2*t2^2*t3^2*g[1],
(q^-1+q)*t1^2*t3 + (q^-1+q)*t1^2*t2
+ (q^-1+q)*t1^2*t2^2*t3^2 + 3*t1^2*t2^2*t3^2*g[2]]

algebra_generators()

Return the algebra generators of self.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(5, 3)
sage: dict(Y.algebra_generators())
{'g1': g[1], 'g2': g[2], 't1': t1, 't2': t2, 't3': t3}

e(i)

Return the element $$e_i$$.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(4, 3)
sage: Y.e(1)
1/4 + 1/4*t1*t2^3 + 1/4*t1^2*t2^2 + 1/4*t1^3*t2
sage: Y.e(2)
1/4 + 1/4*t2*t3^3 + 1/4*t2^2*t3^2 + 1/4*t2^3*t3

g(i=None)

Return the generator(s) $$g_i$$.

INPUT:

• i – (default: None) the generator $$g_i$$ or if None, then the list of all generators $$g_i$$

EXAMPLES:

sage: Y = algebras.YokonumaHecke(8, 3)
sage: Y.g(1)
g[1]
sage: Y.g()
[g[1], g[2]]

gens()

Return the generators of self.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(5, 3)
sage: Y.gens()
(g[1], g[2], t1, t2, t3)

inverse_g(i)

Return the inverse of the generator $$g_i$$.

From the quadratic relation, we have

$g_i^{-1} = g_i - (q - q^{-1}) e_i.$

EXAMPLES:

sage: Y = algebras.YokonumaHecke(2, 4)
sage: [2*Y.inverse_g(i) for i in range(1, 4)]
[(q^-1+q) + 2*g[1] + (q^-1+q)*t1*t2,
(q^-1+q) + 2*g[2] + (q^-1+q)*t2*t3,
(q^-1+q) + 2*g[3] + (q^-1+q)*t3*t4]

one_basis()

Return the index of the basis element of $$1$$.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(5, 3)
sage: Y.one_basis()
((0, 0, 0), [1, 2, 3])

product_on_basis(m1, m2)

Return the product of the basis elements indexed by m1 and m2.

EXAMPLES:

sage: Y = algebras.YokonumaHecke(4, 3)
sage: m = ((1, 0, 2), Permutations(3)([2,1,3]))
sage: 4 * Y.product_on_basis(m, m)
-(q^-1-q)*t2^2*g[1] + 4*t1*t2 - (q^-1-q)*t1*t2*g[1]
- (q^-1-q)*t1^2*g[1] - (q^-1-q)*t1^3*t2^3*g[1]


Check that we apply the permutation correctly on $$t_i$$:

sage: Y = algebras.YokonumaHecke(4, 3)
sage: g1, g2, t1, t2, t3 = Y.algebra_generators()
sage: g21 = g2 * g1
sage: g21 * t1
t3*g[2,1]

t(i=None)

Return the generator(s) $$t_i$$.

INPUT:

• i – (default: None) the generator $$t_i$$ or if None, then the list of all generators $$t_i$$

EXAMPLES:

sage: Y = algebras.YokonumaHecke(8, 3)
sage: Y.t(2)
t2
sage: Y.t()
[t1, t2, t3]