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)[source]¶
- Bases: - 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] - >>> from sage.all import * >>> q = ZZ['q'].fraction_field().gen() >>> Sym = SymmetricFunctions(q.parent()) >>> qbar = Sym.hecke_character(q) >>> qbar[Integer(2)] * qbar[Integer(3)] * qbar[Integer(3),Integer(1)] qbar[3, 3, 2, 1] >>> s = Sym.s() >>> s(qbar([Integer(2)])) -s[1, 1] + q*s[2] >>> s(qbar([Integer(4)])) -s[1, 1, 1, 1] + q*s[2, 1, 1] - q^2*s[3, 1] + q^3*s[4] >>> qbar(s[Integer(2)]) (1/(q+1))*qbar[1, 1] + (1/(q+1))*qbar[2] >>> qbar(s[Integer(1),Integer(1)]) (q/(q+1))*qbar[1, 1] - (1/(q+1))*qbar[2] >>> s(qbar[Integer(2),Integer(1)]) -s[1, 1, 1] + (q-1)*s[2, 1] + q*s[3] >>> qbar(s[Integer(2),Integer(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] - >>> from sage.all import * >>> qbar.transition_matrix(s, Integer(1)) [1] >>> qbar.transition_matrix(s, Integer(2)) [ q -1] [ 1 1] >>> qbar.transition_matrix(s, Integer(3)) [ q^2 -q 1] [ q q - 1 -1] [ 1 2 1] >>> qbar.transition_matrix(s, Integer(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] - >>> from sage.all import * >>> qbar = Sym.qbar(q=Integer(2)) >>> s = Sym.schur() >>> qbar(s[Integer(2),Integer(1)]) 2/7*qbar[1, 1, 1] + 1/7*qbar[2, 1] - 1/7*qbar[3] >>> s(qbar[Integer(2),Integer(1)]) -s[1, 1, 1] + s[2, 1] + 2*s[3] - REFERENCES: - construction()[source]¶
- Return a pair - (F, R), where- Fis a- SymmetricFunctionsFunctorand \(R\) is a ring, such that- F(R)returns- self.- EXAMPLES: - sage: qbar = SymmetricFunctions(QQ['q']).qbar('q') sage: qbar.construction() (SymmetricFunctionsFunctor[Hecke character with q=q], Univariate Polynomial Ring in q over Rational Field) - >>> from sage.all import * >>> qbar = SymmetricFunctions(QQ['q']).qbar('q') >>> qbar.construction() (SymmetricFunctionsFunctor[Hecke character with q=q], Univariate Polynomial Ring in q over Rational Field) 
 - coproduct_on_generators(r)[source]¶
- 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[] - >>> from sage.all import * >>> q = ZZ['q'].fraction_field().gen() >>> Sym = SymmetricFunctions(q.parent()) >>> qbar = Sym.hecke_character() >>> s = Sym.s() >>> qbar[Integer(2)].coproduct() qbar[] # qbar[2] + (q-1)*qbar[1] # qbar[1] + qbar[2] # qbar[]