Hecke Character Basis

The basis of symmetric functions given by characters of the Hecke algebra (of type \(A\)).

AUTHORS:

  • Travis Scrimshaw (2017-08): Initial version
class sage.combinat.sf.hecke.HeckeCharacter(sym, q='q')

Bases: sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative

Basis of the symmetric functions that gives the characters of the Hecke algebra in analogy to the Frobenius formula for the symmetric group.

Consider the Hecke algebra \(H_n(q)\) with quadratic relations

\[T_i^2 = (q - 1) T_i + q.\]

Let \(\mu\) be a partition of \(n\) with length \(\ell\). The character \(\chi\) of a \(H_n(q)\)-representation is completely determined by the elements \(T_{\gamma_{\mu}}\), where

\[\gamma_{\mu} = (\mu_1, \ldots, 1) (\mu_2 + \mu_1, \ldots, 1 + \mu_1) \cdots (n, \ldots, 1 + \sum_{i < \ell} \mu_i),\]

(written in cycle notation). We define a basis of the symmetric functions by

\[\bar{q}_{\mu} = \sum_{\lambda \vdash n} \chi^{\lambda}(T_{\gamma_{\mu}}) s_{\lambda}.\]

INPUT:

  • sym – the ring of symmetric functions
  • q – (default: 'q') the parameter \(q\)

EXAMPLES:

sage: q = ZZ['q'].fraction_field().gen()
sage: Sym = SymmetricFunctions(q.parent())
sage: qbar = Sym.hecke_character(q)
sage: qbar[2] * qbar[3] * qbar[3,1]
qbar[3, 3, 2, 1]

sage: s = Sym.s()
sage: s(qbar([2]))
-s[1, 1] + q*s[2]
sage: s(qbar([4]))
-s[1, 1, 1, 1] + q*s[2, 1, 1] - q^2*s[3, 1] + q^3*s[4]
sage: qbar(s[2])
(1/(q+1))*qbar[1, 1] + (1/(q+1))*qbar[2]
sage: qbar(s[1,1])
(q/(q+1))*qbar[1, 1] - (1/(q+1))*qbar[2]

sage: s(qbar[2,1])
-s[1, 1, 1] + (q-1)*s[2, 1] + q*s[3]
sage: qbar(s[2,1])
(q/(q^2+q+1))*qbar[1, 1, 1] + ((q-1)/(q^2+q+1))*qbar[2, 1]
 - (1/(q^2+q+1))*qbar[3]

We compute character tables for Hecke algebras, which correspond to the transition matrix from the \(\bar{q}\) basis to the Schur basis:

sage: qbar.transition_matrix(s, 1)
[1]
sage: qbar.transition_matrix(s, 2)
[ q -1]
[ 1  1]
sage: qbar.transition_matrix(s, 3)
[  q^2    -q     1]
[    q q - 1    -1]
[    1     2     1]
sage: qbar.transition_matrix(s, 4)
[      q^3      -q^2         0         q        -1]
[      q^2   q^2 - q        -q    -q + 1         1]
[      q^2 q^2 - 2*q   q^2 + 1  -2*q + 1         1]
[        q   2*q - 1     q - 1     q - 2        -1]
[        1         3         2         3         1]

We can do computations with a specialized \(q\) to a generic element of the base ring. We compute some examples with \(q = 2\):

sage: qbar = Sym.qbar(q=2)
sage: s = Sym.schur()
sage: qbar(s[2,1])
2/7*qbar[1, 1, 1] + 1/7*qbar[2, 1] - 1/7*qbar[3]
sage: s(qbar[2,1])
-s[1, 1, 1] + s[2, 1] + 2*s[3]

REFERENCES:

coproduct_on_generators(r)

Return the coproduct on the generator \(\bar{q}_r\) of self.

Define the coproduct on \(\bar{q}_r\) by

\[\Delta(\bar{q}_r) = \bar{q}_0 \otimes \bar{q}_r + (q - 1) \sum_{j=1}^{r-1} \bar{q}_j \otimes \bar{q}_{r-j} + \bar{q}_r \otimes \bar{q}_0.\]

EXAMPLES:

sage: q = ZZ['q'].fraction_field().gen()
sage: Sym = SymmetricFunctions(q.parent())
sage: qbar = Sym.hecke_character()
sage: s = Sym.s()
sage: qbar[2].coproduct()
qbar[] # qbar[2] + (q-1)*qbar[1] # qbar[1] + qbar[2] # qbar[]