<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %A  ctblfuns.xml                GAP documentation               Thomas Breuer -->
<!-- %% -->
<!-- %% -->
<!-- %Y  (C) 1999 School Math and Comp. Sci., University of St Andrews, Scotland -->
<!-- %Y  Copyright (C) 2002 The GAP Group -->
<!-- %% -->
<!-- %%  The documentation in this chapter corresponds to the declarations in the -->
<!-- %%  library files ctblfuns.gd, ctbllatt.gd, ctblmoli.gd, ctblpope.gd. -->
<!-- %% -->
<Chapter Label="Class Functions">
<Heading>Class Functions</Heading>

<Index>characters</Index>
<Index>group characters</Index>
<Index>virtual characters</Index>
<Index>generalized characters</Index>

This chapter describes operations for <E>class functions of finite groups</E>.
For operations concerning <E>character tables</E>,
see Chapter&nbsp;<Ref Chap="Character Tables"/>.
<P/>
Several examples in this chapter require the &GAP; Character Table Library
to be available.
If it is not yet loaded then we load it now.
<P/>
<Example><![CDATA[
gap> LoadPackage( "ctbllib" );
true
]]></Example>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Why Class Functions?">
<Heading>Why Class Functions?</Heading>

<#Include Label="[1]{ctblfuns}">
<#Include Label="IsClassFunction">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Basic Operations for Class Functions">
<Heading>Basic Operations for Class Functions</Heading>

<#Include Label="[2]{ctblfuns}">
<#Include Label="UnderlyingCharacterTable">
<#Include Label="ValuesOfClassFunction">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Comparison of Class Functions">
<Heading>Comparison of Class Functions</Heading>

<#Include Label="[3]{ctblfuns}">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Arithmetic Operations for Class Functions">
<Heading>Arithmetic Operations for Class Functions</Heading>

<#Include Label="[4]{ctblfuns}">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Printing Class Functions">
<Heading>Printing Class Functions</Heading>

<#Include Label="[5]{ctblfuns}">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Creating Class Functions from Values Lists">
<Heading>Creating Class Functions from Values Lists</Heading>

<#Include Label="ClassFunction">
<#Include Label="VirtualCharacter">
<#Include Label="Character">
<#Include Label="ClassFunctionSameType">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Creating Class Functions using Groups">
<Heading>Creating Class Functions using Groups</Heading>

<#Include Label="TrivialCharacter">
<#Include Label="NaturalCharacter">
<#Include Label="PermutationCharacter">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Operations for Class Functions">
<Heading>Operations for Class Functions</Heading>

<#Include Label="[6]{ctblfuns}">
<#Include Label="IsCharacter">
<#Include Label="IsVirtualCharacter">
<#Include Label="IsIrreducibleCharacter">
<#Include Label="DegreeOfCharacter">
<#Include Label="ScalarProduct:ctblfuns">
<#Include Label="MatScalarProducts">
<#Include Label="Norm:ctblfuns">
<#Include Label="ConstituentsOfCharacter">
<#Include Label="KernelOfCharacter">
<#Include Label="ClassPositionsOfKernel">
<#Include Label="CentreOfCharacter">
<#Include Label="ClassPositionsOfCentre:ctblfuns">
<#Include Label="InertiaSubgroup">
<#Include Label="CycleStructureClass">
<#Include Label="IsTransitive:ctblfuns">
<#Include Label="Transitivity:ctblfuns">
<#Include Label="CentralCharacter">
<#Include Label="DeterminantOfCharacter">
<#Include Label="EigenvaluesChar">
<#Include Label="Tensored">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Restricted and Induced Class Functions">
<Heading>Restricted and Induced Class Functions</Heading>

<#Include Label="[7]{ctblfuns}">
<#Include Label="RestrictedClassFunction">
<#Include Label="RestrictedClassFunctions">
<#Include Label="InducedClassFunction">
<#Include Label="InducedClassFunctions">
<#Include Label="InducedClassFunctionsByFusionMap">
<#Include Label="InducedCyclic">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Reducing Virtual Characters">
<Heading>Reducing Virtual Characters</Heading>

<#Include Label="[8]{ctblfuns}">
<#Include Label="ReducedClassFunctions">
<#Include Label="ReducedCharacters">
<#Include Label="IrreducibleDifferences">
<#Include Label="LLL">
<#Include Label="Extract">
<#Include Label="OrthogonalEmbeddingsSpecialDimension">
<#Include Label="Decreased">
<#Include Label="DnLattice">
<#Include Label="DnLatticeIterative">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Symmetrizations of Class Functions">
<Heading>Symmetrizations of Class Functions</Heading>

<#Include Label="Symmetrizations">
<#Include Label="SymmetricParts">
<#Include Label="AntiSymmetricParts">
<#Include Label="OrthogonalComponents">
<#Include Label="SymplecticComponents">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Molien Series">
<Heading>Molien Series</Heading>

<#Include Label="MolienSeries">
<#Include Label="MolienSeriesInfo">
<#Include Label="ValueMolienSeries">
<#Include Label="MolienSeriesWithGivenDenominator">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Possible Permutation Characters">
<Heading>Possible Permutation Characters</Heading>

<#Include Label="[1]{ctblpope}">
<#Include Label="PermCharInfo">
<#Include Label="PermCharInfoRelative">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Computing Possible Permutation Characters">
<Heading>Computing Possible Permutation Characters</Heading>

<#Include Label="PermChars">
<#Include Label="TestPerm1">
<#Include Label="PermBounds">
<#Include Label="PermComb">
<#Include Label="Inequalities">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Operations for Brauer Characters">
<Heading>Operations for Brauer Characters</Heading>

<#Include Label="FrobeniusCharacterValue">
<#Include Label="BrauerCharacterValue">
<#Include Label="SizeOfFieldOfDefinition">
<#Include Label="RealizableBrauerCharacters">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Domains Generated by Class Functions">
<Heading>Domains Generated by Class Functions</Heading>

<#Include Label="[9]{ctblfuns}">

</Section>
</Chapter>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->

