FUNCTION:  Induce    - Induce characters from Reflection subgroups
           PermChar - permutation characters Induced by Reflection subgroups
             J = a list of roots forming a Base for a subsystem of R, or a
                   list of integers in the range 1..n, where n=Rank(R)
             f = a list representing a class function on W(R_J)
SYNOPSIS:   
  A root subsystem R_J of R and the corresponding Reflection subgroup W(R_J)
  of W(R) can be specified in either of two ways: by a list of roots of R
  that form a Base for R_J, or by a list of integers in the range 1..n
  (n=Rank(R)), indicating a Base for R_J formed out of a subset of Base(R).
  A character or class function on W(R_J) is represented as a list of
  values [a_1,...,a_l], where a_i is the value of the function on an element
  in the i-th conjugacy class of W(R_J). The ordering of the conjugacy
  classes is the same as the ordering used by the functions ClassRep,
  ClassSize, Cprod and IrrChars for the group specified by Base(R_J).
  Class functions on W(R) are represented similarly. In particular, if f is
  a class function, f[1] is the value of f at the identity element (i.e.,
  the degree of f, if f is a character).
  If J is a specification of a root subsystem R_J as above and f is a class
  function on W(R_J), Induce(f,J,R) returns the class function on W(R)
  Induced by f. The function PermChar(J,R) returns the class function
  on W(R) Induced by the trivial character of W(R_J); i.e., the character
  of the permutation rePresentation of W(R) on W(R)/W(R_J).
  For a description of root system data Structures, see Coxeter[Structure].
EXAMPLES:   
  PermChar([1,2],C3);                     yields    [6,2,0,4,0,2,2,0,0,0]
  S:=Base(C3); r:=HighestRoot(C3);
  PermChar([S[1],S[2],-r],C3);            yields    [3,1,0,3,1,3,1,3,1,0] 
  S:=Base(H3); J:=[S[2],S[3]];
  f:=[seq((-1)^nops(w),w=ClassRep(J))];  #the sign character
  Induce(f,J,H3);                          yields   [20,0,-4,0,2,0,0,0,0,0]
  S:=Base(A4); J:=[S[1],S[2],S[4]];
  f:=[seq(coeff(CharPoly(w,J,-q),q),w=ClassRep(J))];  #the Reflection char
  Induce(f,J,A4);                          yields     [30,4,-2,0,-2,0,0]

SEE ALSO:  Base, ClassRep, ClassSize, Cprod, IrrChars, Rank, Restrict,
           PermRep, Structure):
