Function: galoischartable
Section: number_fields
C-Name: galoischartable
Prototype: G
Help: galoischartable(gal): return the character table of the underlying
 group of gal.
Doc: Compute the character table of~$G$, where~$G$ is the underlying group of
 the \kbd{galoisinit} structure~\var{gal}. The input~\var{gal} is also allowed
 to be a \typ{VEC} of permutations that is closed under products.
 Let~$N$ be the number of conjugacy classes of~$G$.
 Return a \typ{VEC}~$[\var{ct},\var{e}]$
 where:

 \item \var{ct} is a square \typ{MAT} of size~$N$ giving the character table
 of~$G$, each line corresponding to a conjugacy class and each column
 corresponding to an irreducible character. The value of the character at the
 conjugacy class is represented by a polynomial in \kbd{y} whose variable
 should be interpreted as an $e$-th root of unity.

 \item \var{e} is the exponent of the group~$G$, i.e. the LCM of the orders of
 the elements of~$G$.

 The conjugacy classes are ordered as specified by \kbd{galoisconjclasses(gal)}.
 The first conjugacy class is always the identity, so that the first column
 contains the dimensions of the characters.

 Examples:
 \bprog
 ? K = nfsplitting(x^4+x+1);
 ? gal = galoisinit(K);
 ? [ct,e] = galoischartable(gal);
 ? ct~
 %4 =
 [1 -1 -1  1  1]

 [1  1  1  1  1]

 [2  0  0 -1  2]

 [3 -1  1  0 -1]

 [3  1 -1  0 -1]
 ? {G = [Vecsmall([1, 2, 3, 4, 5]), Vecsmall([1, 5, 4, 3, 2]),
         Vecsmall([2, 1, 5, 4, 3]), Vecsmall([2, 3, 4, 5, 1]),
         Vecsmall([3, 2, 1, 5, 4]), Vecsmall([3, 4, 5, 1, 2]),
         Vecsmall([4, 3, 2, 1, 5]), Vecsmall([4, 5, 1, 2, 3]),
         Vecsmall([5, 1, 2, 3, 4]), Vecsmall([5, 4, 3, 2, 1])];}
   \\G = D10
 ? [ct,e] = galoischartable(G);
 ? ct~
 %7 =
 [1 -1             1             1]

 [1  1             1             1]

 [2  0 y^3 - y^2 - 1    -y^3 + y^2]

 [2  0    -y^3 + y^2 y^3 - y^2 - 1]
 ? e
 %8 = 10
 @eprog
