Classes/characters of reflection groups
Chevie.CharsChevie.Chars.CharTableChevie.Chars.J_induction_tableChevie.Chars.charinfoChevie.Chars.charnamesChevie.Chars.classinfoChevie.Chars.classnamesChevie.Chars.conjPermChevie.Chars.detPermChevie.Chars.fakedegreesChevie.Chars.induction_tableChevie.Chars.j_induction_tableChevie.Chars.on_charsChevie.Chars.representationChevie.Chars.representationsChevie.Chars.schur_functorChevie.Symbols.fakedegree
Chevie.Chars β ModuleCharacters and conjugacy classes of complex reflection groups.
The  CharTable of a finite complex reflection group W is computed using the  decomposition of W in irreducible  groups (see refltype). For each irreducible  group the character  table is either  computed using recursive formulas  for the infinite series,  or read into the  system from a library file  for the  exceptional types.  Thus, character  tables can  be obtained quickly  even for very large groups  (e.g., Eβ). Similar remarks apply for conjugacy classes.
The  conjugacy  classes  and  irreducible  characters of irreducible finite complex reflection groups have canonical labelings by certain combinatorial objects;  these labelings are used in the  tables we give. For the classes, these  are partitions or partition tuples  for the infinite series, or, for exceptional  Coxeter  groups,  Carter's  admissible  diagrams Carter1972; for other  primitive  complex  reflection  groups  we  just  use  words  in the generators  to specify  the classes.  For the  characters, these  are again partitions  or partition tuples for the infinite series, and for the others they  are pairs  of two  integers (d,e)  where d  is the  degree of the character  and  e  is  the  smallest  symmetric  power  of the reflection representation  containing  the  given  character  as  a  constituent  (the b-invariant of the character). This information is given by the functions classinfo  and  charinfo.  When  you  display  the character table, the canonical labelings for classes and characters are displayed.
A  typical example  is coxgroup(:A,n),  the symmetric  group πβββ where classes  and characters are  parameterized by partitions  of n+1 (this is also the case for coxsym(n+1)).
julia> W=coxgroup(:A,3)
Aβ
julia> CharTable(W)
CharTable(Aβ)
ββββββ¬ββββββββββββββββββ
β    β1111 211 22 31  4β
ββββββΌββββββββββββββββββ€
β1111β   1  -1  1  1 -1β
β211 β   3  -1 -1  .  1β
β22  β   2   .  2 -1  .β
β31  β   3   1 -1  . -1β
β4   β   1   1  1  1  1β
ββββββ΄ββββββββββββββββββ
julia> W=coxgroup(:G,2)
Gβ
julia> ct=CharTable(W)
CharTable(Gβ)
βββββββ¬βββββββββββββββββββββ
β     βAβ AΜβ Aβ Gβ Aβ Aβ+AΜββ
βββββββΌβββββββββββββββββββββ€
βΟβββ β 1  1  1  1  1     1β
βΟβββ β 1 -1 -1  1  1     1β
βΟβ²ββββ 1  1 -1 -1  1    -1β
βΟβ³ββββ 1 -1  1 -1  1    -1β
βΟβββ β 2  .  .  1 -1    -2β
βΟβββ β 2  .  . -1 -1     2β
βββββββ΄βββββββββββββββββββββ
julia> ct.charnames
6-element Vector{String}:
 "\phi_{1,0}"
 "\phi_{1,6}"
 "\phi_{1,3}'"
 "\phi_{1,3}''"
 "\phi_{2,1}"
 "\phi_{2,2}"
julia> ct.classnames
6-element Vector{String}:
 "A_0"
 "\tilde A_1"
 "A_1"
 "G_2"
 "A_2"
 "A_1+\tilde A_1"Reflection  groups  have  fake  degrees  (see fakedegrees), whose valuation and degree give two integers b,B for each irreducible character of  W. For  spetsial groups  (which include  finite Coxeter  groups), the valuation  and degree of the generic degrees  of the Hecke algebra give two more integers a,A (for Coxeter groups see Carter1985, Ch.11 for more details). These integers are also used in the  operations of  truncated induction,  see j_induction_table and J_induction_table.
Iwahori-Hecke algebras and cyclotomic Hecke algebras also have character tables, see the corresponding chapters.
We now describe for each type our conventions for labeling the classes and characters.
Type  Aβ  (nβ₯0).  In  this  case  we  have  W β
 πβββ. The classes and characters  are labelled by partitions of  n+1. The partition labelling a class  is the cycle type of the  elements in that class; the representative in  '.classtext' is  the concatenation  of the  words corresponding to each part,  where the word for a part  i is  the  product of i-1 consecutive generators  (starting  one  higher  than  the  last  generator used for the previous  parts). The partition labelling a character describes the type of the  Young  subgroup  such  that  the  trivial  character induced from this subgroup  contains that character with multiplicity 1 and such that every other character occurring in this induced character has a higher a-value. Thus,  the sign  character is  labelled by  the partition  (1βΏβΊΒΉ) and the trivial character by the partition (n+1). The character of the reflection representation of W is labelled by (n,1).
Type  Bβ  (nβ₯2).  In  this  case  W=W(Bβ) is isomorphic to the wreath product  of the cyclic  group of order  2 with the  symmetric group πβ. Hence  the classes and characters are  parameterized by pairs of partitions such  that the total sum of their  parts equals n. The pair corresponding to  a class describes the signed cycle type for the elements in that class, as in Carter1972. We use the convention that if (Ξ»,ΞΌ) is such a pair then Ξ» corresponds to the positive and ΞΌ to the negative cycles.  Thus, (1βΏ,-) and  (-,1βΏ) label respectively  the trivial class and  the  class  of  the  longest  element.
The  pair  corresponding  to  an  irreducible  character  is determined via Clifford  theory, as  follows. We  have a  semidirect product decomposition W(Bβ)=N  β  πβ  where  N  is  the standard n-dimensional π½ββΏ-vector space.  For a,b β₯ 0 such that  n=a+b let $Ξ·_{a,b}$ be the irreducible character  of N  which takes  value 1  on the  first a standard basis vectors  and value -1 on the last b standard basis vectors of N. Then the  inertia subgroup of $Ξ·_{a,b}$ has the form $T_{a,b}=N.(π_a Γ π_b)$ and  we  can  extend  $Ξ·_{a,b}$  trivially  to  an  irreducible character $Ξ·Μ_{a,b}$  of $T_{a,b}$. Let Ξ± and Ξ² be partitions of a and b, respectively.  We take the tensor  product of the corresponding irreducible characters  of π_a and π_b and  regard this as an irreducible character of  $T_{a,b}$. Multiplying this character  with $Ξ·Μ_{a,b}$ and inducing to  W(Bβ) yields  an irreducible  character $Ο=  Ο_{(Ξ±,Ξ²)}$ of W(Bβ). This defines the correspondence between irreducible characters and pairs of partitions as above.
For example, the pair ((n),-) labels the trivial character and (-,(1βΏ)) labels  the  sign  character.  The  character  of  the  natural  reflection representation is labeled by ((n-1),(1)).
Type  Dβ (nβ₯4). In this case W=W(Dβ) can be embedded as a subgroup of index  2 into the Coxeter  group W(Bβ). The intersection  of a class of W(Bβ) with W(Dβ) is either empty or a single class in W(Dβ) or splits up  into two classes in  W(Dβ). This also leads  to a parameterization of the  classes of W(Dβ) by pairs of  partitions (Ξ»,ΞΌ) as before but where the  number of parts of ΞΌ is even and where there are two classes of this type  if ΞΌ is empty and all parts of  Ξ» are even. In the latter case we denote  the two classes in W(Dβ) by (Ξ»,+) and (Ξ»,-), where we use the convention  that  the  class  labeled  by (Ξ»,+) contains a representative which  can be written  as a word  in {sβ,sβ,β¦,sβ} and  (Ξ»,-) contains a representative which can be written as a word in {sβ,sβ, β¦,sβ}.
By  Clifford theory the restriction of  an irreducible character of W(Bβ) to  W(Dβ)  is  either  irreducible  or  splits  up  into  two irreducible components.  Let (Ξ±,Ξ²) be  a pair of  partitions with total  sum of parts equal to n. If Ξ±!=Ξ² then the restrictions of the irreducible characters of  W(Bβ) labeled  by (Ξ±,Ξ²)  and (Ξ²,Ξ±)  are irreducible and equal. If Ξ±=Ξ²  then the restriction of the character labeled by (Ξ±,Ξ±) splits into two  irreducible components  which we  denote by  (Ξ±,+) and (Ξ±,-). Note that  this can only happen if n is  even. In order to fix the notation we use  a  result  of  Stembridge1989  which describes the value  of the  difference of  these two  characters on  a class of the form (Ξ»,+)  in terms of the character values of the symmetric group π_{n/2}. Recall  that it is implicit  in the notation (Ξ»,+)  that all parts of Ξ» are even. Let Ξ»' be the partition of n/2 obtained by dividing each part by  2. Then the value of Ο_{(Ξ±,-)}-Ο_{(Ξ±,+)} on an element in the class (Ξ»,+) is given by 2^{k(Ξ»)} times the value of the irreducible character of  π_{n/2} labeled by Ξ± on the class of cycle type Ξ»'. (Here, k(Ξ») denotes the number of non-zero parts of Ξ».)
The  labels for the trivial, the  sign and the natural reflection character are the same as for W(Bβ), since these characters are restrictions of the corresponding characters of W(Bβ).
The groups G(d,1,n). They  are isomorphic to the wreath product of the cyclic group of order d with  the  symmetric  group  πβ.  Hence  the  classes  and characters are parameterized  by d-tuples of partitions such that the total sum of their parts  equals n. The words chosen  as representatives of the classes are, when d>2, computed in a slightly different way than for Bβ, in order to agree  with the words on which Ram  and Halverson compute the characters of the  Hecke algebra. First the parts of the d partitions are merged in one big  partition and sorted in  increasing order. Then, to  a part i coming from  the j-th partition is  associated the word (l+1β¦1β¦ l+1)Κ²β»ΒΉl+2β¦l+i where l is the highest generator used to express the previous part.
The  d-tuple corresponding to an  irreducible character is determined via Clifford  theory in  a similar  way than  for the  Bβ case.  The identity character  has the first  partition with one  part equal n  and the other ones  empty. The character of the  reflection representations has the first two  partitions with one part  equal respectively to n-1  and to 1, and the other partitions empty.
The groups G(de,e,n). They  are normal  subgroups of  index e  in G(de,1,n).  The quotient is cyclic,  generated by the image g  of the first generator of G(de,1,n). The  classes are parameterized as the  classes of G(de,e,n) with an extra information for a component of a class which splits.
According  to  Hugues1985,  a  class  C of G(de,1,n) parameterized  by a de-partition $(Sβ,β¦,S_{de-1})$ is in G(de,e,n) if e  divides $βα΅’ i β_{pβ Sα΅’}p$. It  splits in d classes for the largest d  dividing e and all parts of all  Sα΅’ and such that Sα΅’ is empty if d  does not divide i. If w is in C then 'gβ± w gβ»β±' for 'i in 0:d-1' are  representatives of the classes of G(de,e,n) which meet C. They are described by appending the integer i to the label for C.
The  characters are described by Clifford theory. We make g act on labels for  characters of G(de,1,n)  . The action  of g permutes circularly by d  the partitions in the de-tuple.  A character has same restriction to G(de,e,n)  as its transform by g.  The number of irreducible components of its restriction is equal to the order k of its stabilizer under powers of  g.  We  encode  a  character  of  G(de,e,n)  by first, choosing the smallest  for lexicographical order label  of a character whose restriction contains  it; then this label is periodic with a motive repeated k times; we  represent the  character by  one of  these motives,  to which we append E(k)β± for 'i in 0:k-1' to describe which component of the restriction we choose.
Types Gβ and Fβ. The matrices of character values and the orderings and labelings  of  the  irreducible  characters  are  exactly  the  same  as in Carter1985,  p.412/413:  in  type  Gβ  the  character Οβ,β'  takes the value -1 on the reflection associated to the long simple root;  in type Fβ, the characters Οβ,ββ', Οβ,β', Οβ,β', Οβ,β' and Οβ,β' occur in the induced of the identity from the Aβ corresponding to the  short  simple  roots;  the  pairs  (Οβ,ββ',  Οβ,ββ³)  and (Οβ,β', Οβ,ββ³)  are  related  by  tensoring  by  sign; and finally Οβ,ββ³ is the exterior  square of the  reflection representation. Note,  however, that we put  the long root at  the left of the  Dynkin diagrams to be in accordance with the conventions in Lusztig1985, (4.8) and (4.10).
The classes are labeled by Carter's admissible diagrams Carter1972.  A character  is labeled  by a pair (d,b) where  d denotes the  degree and b  the corresponding b-invariant. If there  are several characters with the same  pair (d,b) we attach a prime to them, as in Carter1985.
Types  Eβ,Eβ,Eβ. The character  tables are obtained  by specialization of those  of the Hecke algebra. The classes are labeled by Carter's admissible diagrams Carter1972. A character is labeled by the pair (d,b)  where  d  denotes  the  degree  and  b  is  the  corresponding b-invariant.  For  these  types,  this  gives  a  unique  labeling of the characters.
Non-crystallographic  types Iβ(m), Hβ, Hβ. In these cases we do not have  canonical  labelings  for  the  classes.  We  label  them  by reduced expressions.
Each  character for  type Hβ  is uniquely  determined by the pair (d,b) where  d is the degree and  b the corresponding b-invariant. For type Hβ  there are just  two characters (those  of degree 30)  for which the corresponding  pairs are  the same.  These two  characters are nevertheless distinguished  by  their  fake  degrees:  the  character Οββ,ββ' has fake degree  qΒΉβ°+qΒΉΒ²+ higher terms, while Οββ,βββ³ has fake degree qΒΉβ°+qΒΉβ΄+ higher  terms. The characters in the table for type Hβ are ordered in the same way as in Alvis and Lusztig1982.
Finally,  the characters  of degree 2  for type  Iβ(m) are  ordered as follows.  The matrix representations affording the characters of degree 2 are given by: $Ο_j : sβsβ β¦ \begin{pmatrix}\zeta_m^j&0\\0&\zeta_m^{-j}\end{pmatrix},  sββ¦\begin{pmatrix}0&1\\1&0\end{pmatrix},$ where  1 β€ j β€  β(m-1)/2β. The reflection representation is  Οβ. The  characters in  the table  are ordered by listing first the characters of degree 1 and then Οβ,Οβ,β¦.
Primitive complex reflection groups Gβ to Gββ. The  groups Gββ=Hβ, Gββ=Fβ, Gββ=Hβ are exceptional Coxeter groups and have  been  explained  above.  Similarly  for  the  other groups labels for characters  consist primarily  of the  pair (d,b)  where d  denotes the degree  and b is the corresponding  b-invariant. This is sufficient for Gβ,  Gββ, Gββ and Gββ. For other  groups there are pairs or triples of  characters which  have the  same (d,b)  value. We  disambiguate these according  to  the  conventions  of Malle2000 for Gββ, Gββ, Gββ, Gββ and Gββ:
- For 
Gββ: 
The  fake degree  of Οβ,β
'  (resp. Οβ,ββ',  Οβ,ββ³) has smaller degree that  of  Οβ,β
β³  (resp.  Οβ,βββ³,  Οβ,β'). The characters Οβ
,ββ
' and Οβ
,β' occur with multiplicity 1 in the induced from the trivial character of  the parabolic subgroup  of type Aβ  generated by the  first and third generator  (it is asserted mistakenly in Malle2000 that Οβ
,ββ³ does not occur in this induced; it occurs with multiplicity 2).
- For 
Gββ: 
The  character  Οβ,βββ΄  is  the  exterior  square  of Οβ,β; its complex conjugate  is Οβ,βββ. The  character Οββ
,ββ³ occurs  in Οβ,ββΟβ,β; the character  Οββ
,βββ³  is  tensored  by  the  sign  character from Οββ
,ββ³. Finally  Οβ,ββ' occurs in  the induced from  the trivial character of the standard parabolic subgroup of type Aβ generated by the first, second and fourth generators.
- For 
Gββ: 
The  characters Οββ
,β', Οββ
,ββ' and Οββ
,ββ³ occur in Οβ,ββΟββ,β; the character   Οββ,ββ'  is  complex  conjugate  of  Οββ,β;  the  character Οββ
,ββ'  is tensored by sign of Οββ
,β'. The two terms of maximal degree of  the fakedegree of Οββ,ββ' are  qβ΅β°+qβ΄βΆ while for Οββ,βββ³ they are qβ΅β°+2qβ΄βΆ.
- For 
Gββ: 
The two terms of maximal degree of the fakedegree of Οββ,β' are qΒ²βΈ+qΒ²βΆ while  for Οββ,ββ³ they are qΒ²βΈ+qΒ²β΄. The  terms of maximal degree of the fakedegree   of  Οββ,β
'  are  qΒ³ΒΉ+qΒ²βΉ   while  for  Οββ,β
β³  they  are qΒ³ΒΉ+2qΒ²βΉ.  The character  Οββ,ββ' is  tensored by  sign of Οββ,β' and Οββ,ββ' is tensored by sign of Οββ,β
'.
- For 
Gββ: 
The  character Οββ,ββ' occurs in Οβ,ββΟββ
,ββ. The character Οββ,β' is rational.  The character  Οββ,ββ³ occurs  in Οβ,ββΟββ
,ββ.  The character Οββ,ββ
'   is  rational.The   character  Οββ,ββ
β³   is  tensored  by  the determinant  character of  Οββ,ββ³. The  character Οβ
ββ,ββ' is rational. The character Οβ
ββ,βββ΄ occurs in Οβ,ββΟβββ,ββ. The character Οβββ,ββ' occurs    in   Οβ,ββΟβββ,ββ.   The   character   Οβββ,βββ³   occurs   in Οβ,ββΟβββ,ββ.  The  character  Οβ
ββ,ββ'  occurs  in Οβ,ββΟβββ
,ββ. The character  Οβββ
,β' is  complex conjugate  of Οβββ
,β,  and Οβββ,ββ' is complex  conjugate  of  Οβββ,ββ.  The  character  Οβββ,ββ'  is  complex conjugate  of  Οβββ,ββ.  Finally  Οβββ,ββ'  occurs  in induced from the trivial character of the standard parabolic subgroup of type Aβ
 generated by the generators of Gββ with the third one omitted.
For  the groups Gβ
 and Gβ we  adopt the following conventions. For Gβ
 they are compatible with those of MalleRouquier2003 and BroueMalleMichel2014.
- For 
Gβ: 
We  let W=complex_reflection_group(5),  so the  generators are  W(1) and W(2).
The  character Οβ,β' (resp. Οβ,ββ', Οβ,β') takes the value 1 (resp. ΞΆβ,  -ΞΆβ)  on  W(1).  The  character  Οβ,ββ³ is complex conjugate to Οβ,ββ,  and the character  Οβ,β' is complex  conjugate to Οβ,β' . The character  Οβ,β
β³ is complex conjugate to  Οβ,β; Οβ,β
' takes the value -1 on W(1). The character Οβ,β' is complex conjugate to Οβ,β
'.
- For 
Gβ: 
We  let W=complex_reflection_group(7),  so the  generators are W(1), W(2) and W(3).
The  characters  Οβ,β'  and  Οβ,ββ'  take  the value 1 on W(2). The character  Οβ,ββ³ is complex  conjugate to Οβ,ββ  and Οβ,β' is complex conjugate  to Οβ,β'. The characters Οβ,ββ'  and Οβ,ββ' take the value ΞΆβ  on W(2). The character Οβ,βββ³ is complex conjugate to Οβ,ββ and Οβ,ββ'  is complex conjugate to Οβ,ββ'. The character Οβ,β' takes the value  -ΞΆβ on  W(2) and  Οβ,ββ' takes  the value  -1 on W(2). The characters  Οβ,βββ³, Οβ,β
β³, Οβ,ββ΄ and  Οβ,β are Galois conjugate, as well  as  the  characters  Οβ,β',  Οβ,ββ',  Οβ,ββ'  and  Οβ,β
'. The character  Οβ,β' is complex  conjugate to Οβ,ββ
  and Οβ,ββ΄ is complex conjugate to Οβ,β'.
Finally,  for the remaining groups Gβ, Gβ  to Gββ, Gββ to Gββ, Gββ
, Gββ,  Gββ and Gββ there are only  pairs of characters with same value (d,b).  We give labels uniformly to these characters by applying in order the following rules :
If the two characters have different fake degrees, label
Ο_{d,b}'the one whose fake degree is minimal for the lexicographic order of polynomials (starting with the highest term).For the not yet labeled pairs, if only one of the two characters has the property that in its Galois orbit at least one character is distinguished by its
(d,b)-invariant, label itΟ_{d,b}'.For the not yet labeled pairs, if the minimum of the
(d,b)-value (for the lexicographic order(d,b)) in the Galois orbits of the two character is different, labelΟ_{d,b}'the character with the minimal minimum.We define now a new invariant for characters: consider all the pairs of irreducible characters
ΟandΟuniquely determined by their(d,b)-invariant such thatΟoccurs with non-zero multiplicityminΟβΟ. We definet(Ο)to be the minimal (for lexicographic order) possible list(d(Ο),b(Ο),d(Ο),b(Ο),m).
For  the not  yet labeled  pairs, if  the t-invariants are different, label Ο_{d,b}' the character with the minimal t-invariant.
After  applying  the  last  rule  all  the  pairs  will be labelled for the considered  groups. The labelling obtained  is compatible for Gββ
, Gββ, Gββ  and Gββ  with that  of Malle2000  and for Gβ with that described in MalleRouquier2003.
We  should  emphasize  that  for  all  groups  with  a  few exceptions, the parameters  for characters do  not depend on  any non-canonical choice. The exceptions  are G(de,e,n) with e>1, and Gβ
, Gβ, Gββ, Gββ, Gββ and  Gββ, groups  which admit  outer automorphisms  preserving the set of reflections,  so choices  of a  particular value  on a particular generator must be made for characters which are not invariant by these automorphisms.
Labels for the classes. For the exceptional complex reflection groups, the labels for the classes represent the decomposition of a representative of the class as a product of generators, with the additional conventions that 'z' represents the generator of the center and for well-generated groups 'c' represents a Coxeter element (a product of the generators which is a regular element for the highest reflection degree).
Chevie.Chars.CharTable β TypeCharTable is a structure to hold character tables of groups and Hecke algebras
Chevie.Chars.on_chars β Functionon_chars(G,aut)
aut  is an automorphism of  the group G (for  a permutation group, this could  be  given  as  a  permutation  normalizing  G).  The result is the permutation of the indices of the irreducible characters induced by aut.
julia> WF=rootdatum("3D4")
Β³Dβ
julia> on_chars(Group(WF),WF.phi)
(1,2,7)(8,9,12)Chevie.Chars.charinfo β Functioncharinfo(W)
returns   information  about  the  irreducible  characters  of  the  finite reflection group or Spets W. The result is an object with various entries describing  properties of  the irreducible  characters of  W. This object prints  at the  Repl or  in Pluto  or Jupyter  as a table synthesizing most information.
A  field not in the table is  .charparams: it contains parameters for the irreducible  characters.  A  parameter  is  a  list  with one item for each irreducible  component of W (as given  by refltype). For an irreducible W see the helpstring for Chars for what are the parameters.
julia> charinfo(coxgroup(:G,2)).charparams
6-element Vector{Vector{Vector{Int64}}}:
 [[1, 0]]
 [[1, 6]]
 [[1, 3, 1]]
 [[1, 3, 2]]
 [[2, 1]]
 [[2, 2]]julia> charinfo(coxgroup(:G,2))
ββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βn0β name ext b B a A spaltenstein lusztig              symbolβ
ββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β1 β Οβββ  Id 0 0 0 0            1       1       (0,0,0,0,0,2)β
β2 β Οβββ det 6 6 6 6            Ξ΅       Ξ΅ (01,01,01,01,01,12)β
β3 βΟβ²βββ     3 3 1 5           Ξ΅β      Ξ΅β²            (0,0,1+)β
β4 βΟβ³βββ     3 3 1 5          Ξ΅_c      Ξ΅β³            (0,0,1-)β
β5 β Οβββ  ΞΒΉ 1 5 1 5           ΞΈβ²      ΞΈβ²       (0,0,0,0,1,1)β
β6 β Οβββ     2 4 1 5           ΞΈβ³      ΞΈβ³       (0,0,0,1,0,1)β
ββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββIn  the table printed  at the Repl,  the columns reflect  various fields of charinfo.  The  column  name  reflects  the  field .charnames, a name computed  from .charparams. This  is the same  as charnames(io,W) where here io being the Repl has the property :limit true.
The   column   ext   shows   the   exterior   powers  of  the  reflection representation.  It corresponds  to the  field .extrefl  which is present only  if W  is irreducible.  Otherwise, only  two items  are shown in the column:  Id corresponds to the field  .positionId and shows the trivial character.  det  corresponds  to  the  field .positionDet and shows the determinant  character (for Coxeter groups the sign character). When W is irreducible,  the characters marked  Ξβ± are the  i-th exterior power of the  reflection  representation.  They  are  irreducible  by  a  theorem of Steinberg.
The  column  b  shows  the  field  .b  listing  for  each character the valuation  of the fake degree, and the column B shows the field .B, the degree of the fake degree.
The  columns a and  A only appear  for Spetsial groups. They correspond then  to the fields  .a and .A,  and contain respectively the valuation and the degree of the generic degree of the character (in the one-parameter Hecke algebra hecke(W,Pol()) for W).
For irreducible groups, the table shows sometimes additional columns, corresponding to a field of the same name.
for  Fβ, the column kondo gives the labeling of the characters given by Kondo, also used in Lusztig1985, (4.10).
for  Eβ, Eβ, Eβ the  column frame gives the  labeling of the characters given   by  Frame,   also  used   in  Lusztig1985,   (4.11),  (4.12),  and (4.13).
for  Gβ the  column spaltenstein  gives the  labeling of the characters given by Spaltenstein.
for G(de,e,2) even e and d>1, the column malle gives the parameters for the characters used in Malle1996.
If  W  is  irreducible  spetsial  and  imprimitive,  the  column 'symbol(corresponding  to the field.charSymbols`) shows the  symbol attached to the corresponding unipotent caracter.
If  W  isa  Spets,  the  column  restr.  (corresponding  to  the  field .charRestrictions)  gives the  number of  the corresponding  character of Group(W).
Finally,  the  field  .hgal  contains  the  permutation of the characters resulting  from a Galois  action on the  characters of H=hecke(W,Pol()^e) where  e is the order of  the center of W. H  splits by taking v an e-th root of Pol(), and .hgal records the permutation effected by the Galois action v->E(e)*v (charinfo does not have the key :hgal if this permutation   is  trivial).  .hgal*conj,  where  conj  is  the  complex conjugaison, is the Opdam involution.
julia> charinfo(complex_reflection_group(24))
ββββ¬ββββββββββββββββββββββ
βn0β name ext  b  B  a  Aβ
ββββΌββββββββββββββββββββββ€
β1 β Οβββ  Id  0  0  0  0β
β2 βΟββββ det 21 21 21 21β
β3 β Οβββ      8 18  8 20β
β4 β Οβββ  ΞΒΉ  1 11  1 13β
β5 βΟββββ  ΞΒ² 10 20  8 20β
β6 β Οβββ      3 13  1 13β
β7 β Οβββ      2 12  1 13β
β8 β Οβββ      9 19  8 20β
β9 β Οβββ      6 18  6 18β
β10β Οβββ      3 15  3 15β
β11β Οβββ      4 16  4 17β
β12β Οβββ
      5 17  4 17β
ββββ΄ββββββββββββββββββββββ
hgal=(11,12)Chevie.Chars.charnames β Methodcharnames(ComplexReflectionGroup or Spets;options...) charnames(io::IO,ComplexReflectionGroup or Spets)
returns  the list of character names for the reflection group or Spets W. The  options may imply  alternative names in  certain cases, or a different formatting of names in general. They can be specified by IO attributes if giving an IO as argument.
julia> W=coxgroup(:G,2)
Gβ
julia> charnames(W;limit=true)
6-element Vector{String}:
 "Οβββ"
 "Οβββ"
 "Οβ²βββ"
 "Οβ³βββ"
 "Οβββ"
 "Οβββ"
julia> charnames(W;TeX=true)
6-element Vector{String}:
 "\phi_{1,0}"
 "\phi_{1,6}"
 "\phi_{1,3}'"
 "\phi_{1,3}''"
 "\phi_{2,1}"
 "\phi_{2,2}"
julia> charnames(W;spaltenstein=true,limit=true)
6-element Vector{String}:
 "1"
 "Ξ΅"
 "Ξ΅β"
 "Ξ΅_c"
 "ΞΈβ²"
 "ΞΈβ³"
julia> charnames(W;spaltenstein=true,TeX=true)
6-element Vector{String}:
 "1"
 "\varepsilon"
 "\varepsilon_l"
 "\varepsilon_c"
 "\theta'"
 "\theta''"The last two commands show the character names used by Spaltenstein and Lusztig when describing the Springer correspondence.
Chevie.Chars.classnames β Functionclassnames(W;options...) classnames(io::IO,W)
returns  the  list  of  class  names  for the reflection group W. The optional  options are IOContext attributes which can give alternative names in  certain cases, or a different formatting  of names in general. They can be specified by giving an IO as argument.
Chevie.Chars.classinfo β Functionclassinfo(W)
returns  information about the  conjugacy classes of  the finite reflection group or Spets W. The result is an object with various entries describing properties  of the conjugacy classes of W. This object prints at the Repl or in Pluto or Jupyter as a table synthesizing most information.
A  field not in the table  is .classparams, containing parameters for the conjugacy  classes. Each parameter is a vector  which has one item for each irreducible   component  of  W.  For  what  are  the  parameters  for  an irreducible W, see the helpstring of Chars.
julia> classinfo(coxgroup(:A,2))
ββββ¬βββββββββββββββββββββββ
βn0βname length order wordβ
ββββΌβββββββββββββββββββββββ€
β1 β 111      1     1    .β
β2 β  21      3     2    1β
β3 β   3      2     3   12β
ββββ΄βββββββββββββββββββββββThe table contains the columns:
name, corresponding to the field.classnames: strings describing the conjugacy classes, made out of the information in:classparams.length, corresponding to the field.classes, is the number of elements in the conjugacy class.order, corresponding to the field.orders, is the order of elements in the conjugacy class.word, corresponding to the field.classtext, describes a word in the generators for the representatives of each conjugacy class. Each word is a list of integers where the generatorW(i)is represented by the integeri. For finite Coxeter groups, it is the same asword.(Ref(W),classreps(W)), and each such representative is of minimal length in its conjugacy class and is a "very good" element in the sense of GeckMichel1997.
Chevie.Symbols.fakedegree β Functionfakedegree(W, Ο, q=Pol())
returns the fake degree (see fakedegrees for a definition) of the character  of parameter Ο (see  charinfo(W).charparams) of the reflection group W, evaluated at q .
julia> fakedegree(coxgroup(:A,2),[[2,1]],Pol(:q))
Pol{Int64}: qΒ²+qfakedegree(S::CharSymbol,p=0)
returns as  a CycPol the  fake degree of  the character of symbol S.
julia> fakedegree(CharSymbol([[1,5,6],[1,2]]))
qΒΉβΆΞ¦β
Ξ¦βΞ¦βΞ¦βΞ¦ββΞ¦ββΞ¦ββΞ¦ββΞ¦ββΞ¦ββΞ¦ββIf S is an e-symbol, when given a second argument p dividing e, and a  first  argument  of  shape  (0,β¦,0)  representing  the  restriction of the character to G(e,e,r), works for the coset G(e,e,r).sβα΅.
Chevie.Chars.fakedegrees β Functionfakedegrees(W, q=Pol())
returns  a list holding the fake degrees of the reflection group W on the vector  space V, evaluated at q. These are the graded multiplicities of the  irreducible characters of W in the quotient SV/I where SV is the symmetric  algebra of V and I is the ideal generated by the homogeneous invariants  of  positive  degree  in  SV.  The  ordering  of  the  result corresponds to the ordering of the characters in charinfo(W).
julia> fakedegrees(coxgroup(:A,2),Pol(:q))
3-element Vector{Pol{Int64}}:
 qΒ³
 qΒ²+q
 1Chevie.Chars.representation β Methodrepresentation(W,i)
returns,   for  the  i-th  irreducible   representation  of  the  complex reflection  group or Spets W, a list of matrices images of the generating reflections  of W in a model of the representation (for Spets, the result is  a NamedTuple with fields gens,  a representation of Group(W), and F,  the matrix for W.phi in the representation). This function is based on  the  classification,  and  is  not  yet fully implemented for Gββ; 60 representations   are  missing  out   of  169,  that   is,  about  half  of representations  of  dimension  β₯140.  nothing  is returned for a missing representation.
julia> representation(complex_reflection_group(24),3)
3-element Vector{Matrix{Cyc{Int64}}}:
 [1 0 0; -1 -1 0; -1 0 -1]
 [-1 0 -1; 0 -1 (1-β-7)/2; 0 0 1]
 [-1 -1 0; 0 1 0; 0 (1+β-7)/2 -1]Chevie.Chars.representations β Methodrepresentations(W)
returns  the list  of representations  of the  complex reflection  group or Spets W (see representation).
julia> representations(coxgroup(:B,2))
5-element Vector{Vector{Matrix{Int64}}}:
 [[1;;], [-1;;]]
 [[1 0; -1 -1], [1 2; 0 -1]]
 [[-1;;], [-1;;]]
 [[1;;], [1;;]]
 [[-1;;], [1;;]]Chevie.Chars.induction_table β Functioninduction_table(u,g)
returns   an  object  describing  the   decomposition  of  the  irreducible characters  of the subgroup  u induced to  the group g.  At the repl or IJulia  or Pluto,  a table  is displayed  where the  rows correspond to the characters  of the parent group, and the  columns to those of the subgroup. The  returned  object  has  a  field  scalar  which  is  a  Matrix{Int} containing  the  induction  table,  and  the  other fields contain labeling information taken from the character tables of u and g when it exists.
julia> g=Group([Perm(1,2),Perm(2,3),Perm(3,4)])
Group([(1,2),(2,3),(3,4)])
julia> u=Group( [ Perm(1,2), Perm(3,4) ])
Group([(1,2),(3,4)])
julia> induction_table(u,g)  #     needs "using GAP"
Induction table from Group((1,2),(3,4)) to Group((1,2),(2,3),(3,4))
βββββ¬ββββββββββββββββ
β   βX.1 X.2 X.3 X.4β
βββββΌββββββββββββββββ€
βX.1β  .   1   .   .β
βX.2β  .   1   1   1β
βX.3β  1   1   .   .β
βX.4β  1   .   1   1β
βX.5β  1   .   .   .β
βββββ΄ββββββββββββββββjulia> g=coxgroup(:G,2)
Gβ
julia> u=reflection_subgroup(g,[1,6])
Gββββ
β=Aβ
julia> t=induction_table(u,g)
Induction table from Gββββ
β=Aβ to Gβ
βββββββ¬βββββββββ
β     β111 21 3β
βββββββΌβββββββββ€
βΟβββ β  .  . 1β
βΟβββ β  1  . .β
βΟβ²ββββ  1  . .β
βΟβ³ββββ  .  . 1β
βΟβββ β  .  1 .β
βΟβββ β  .  1 .β
βββββββ΄βββββββββIO attributes can be transmitted to the table format method
julia> xdisplay(t;rows=[5],cols=[3,2])
Induction table from Gββββ
β=Aβ to Gβ
βββββββ¬βββββ
β     β3 21β
βββββββΌβββββ€
βΟβββ β.  1β
βββββββ΄βββββIt is also possible to TeX induction tables with xdisplay(t;TeX=true).
induction_table also works for spets (reflection cosets).
Chevie.Chars.j_induction_table β Functionj_induction_table(H, W)
computes  the decomposition  into irreducible  characters of the reflection group  W  of  the  j-induced  of  the  irreducible  characters  of  the reflection  subgroup  H.  The  j-induced  of  Ο  is  the  sum  of the irreducible  components of the induced of  Ο which have same b-function (see charinfo) as Ο. What is returned is an InductionTable struct.
julia> W=coxgroup(:D,4)
Dβ
julia> H=reflection_subgroup(W,[1,3])
Dβββββ=AβΞ¦βΒ²
julia> j_induction_table(H,W)
j-induction table from Dβββββ=AβΞ¦βΒ² to Dβ
βββββββ¬βββββββββ
β     β111 21 3β
βββββββΌβββββββββ€
β11+  β  .  . .β
β11-  β  .  . .β
β1.111β  .  . .β
β.1111β  .  . .β
β11.2 β  .  . .β
β1.21 β  1  . .β
β.211 β  .  . .β
β2+   β  .  . .β
β2-   β  .  . .β
β.22  β  .  . .β
β1.3  β  .  1 .β
β.31  β  .  . .β
β.4   β  .  . 1β
βββββββ΄βββββββββChevie.Chars.J_induction_table β FunctionJ_induction_table(H, W)
computes  the decomposition  into irreducible  characters of the reflection group  W  of  the  J-induced  of  the  irreducible  characters  of  the reflection  subgroup  H.  The  J-induced  of  Ο  is  the  sum  of the irreducible  components of the induced of  Ο which have same a-function (see charinfo) as Ο. What is returned is an InductionTable struct.
julia> W=coxgroup(:D,4)
Dβ
julia> H=reflection_subgroup(W,[1,3])
Dβββββ=AβΞ¦βΒ²
julia> J_induction_table(H,W)
J-induction table from Dβββββ=AβΞ¦βΒ² to Dβ
βββββββ¬βββββββββ
β     β111 21 3β
βββββββΌβββββββββ€
β11+  β  .  . .β
β11-  β  .  . .β
β1.111β  .  . .β
β.1111β  .  . .β
β11.2 β  1  . .β
β1.21 β  1  . .β
β.211 β  .  . .β
β2+   β  .  . .β
β2-   β  .  . .β
β.22  β  .  . .β
β1.3  β  .  1 .β
β.31  β  .  . .β
β.4   β  .  . 1β
βββββββ΄βββββββββChevie.Chars.schur_functor β Functionschur_functor(mat,Ξ»)
mat  should be  a square  matrix and  Ξ» a  partition. The result is the Schur  functor  of  the  matrix  mat  corresponding to partition Ξ»; for example,   if  Ξ»==[n]  it  returns  the   n-th  symmetric  power  and  if Ξ»==[1,1,1] it returns the 3rd exterior power. The current algorithm (from Littlewood)  is rather inefficient so it is  quite slow for partitions of n where n>6.
julia> m=cartan(:A,3)
3Γ3 Matrix{Int64}:
  2  -1   0
 -1   2  -1
  0  -1   2
julia> schur_functor(m,[2,2])
6Γ6 Matrix{Rational{Int64}}:
   9    -6    4   3    -2    1
 -12    16  -16  -8     8   -4
   4    -8   16   4    -8    4
 -3//2  -1    2  7//2  -3   5//2
  -4     8  -16  -8    16  -12
   1    -2    4   3    -6    9schur_functor(ct::CharTable,Ο::AbstractVector,Ξ»)
schur_functor(ct::CharTable,i::Integer,Ξ»)
ct  should be a character table for some group G. In the first form Ο should  be a vector representing a character of G, and in the second form i  denotes the i-th  character Ο of  G. Ξ» is  a partition of some integer  n, representing an irreducible character  of π β. The function returns  the Schur functor Ο[Ξ»] of Ο defined by Ξ» . This is the character defined by the formula
$Ο[Ξ»](g)=β_ΞΌ Ξ»(ΞΌ)β_{kβ1:n}Ο(gα΅)^{nβ(ΞΌ)}$
where  ΞΌ runs over the partitions of  n, representing the classes of π β,  where Ξ»(ΞΌ) is the  value of the character  Ξ» at the class ΞΌ, and nβ(ΞΌ) is the number of parts of ΞΌ equal to k.
Particular  examples are the exterior  powers, corresponding to Ξ»=1βΏ, and the symmetric powers, corresponding Ξ»=n.
ct  should  have  .powermaps  containing  powermaps  for  at  least the prime divisors of the order of G.
Chevie.Chars.detPerm β FunctiondetPerm(W)
return  the permutation of the characters of the reflection group W which is effected when tensoring by the determinant character (for Coxeter groups this is the sign character).
julia> W=coxgroup(:D,4)
Dβ
julia> detPerm(W)
(1,8)(2,9)(3,11)(4,13)(7,12)Chevie.Chars.conjPerm β FunctionconjPerm(W)
return  the permutation of the characters of the group W which is effected when taking the complex conjugate of the character table.
julia> W=complex_reflection_group(4)
Gβ
julia> conjPerm(W)
(2,3)(5,6)