Class functions #
This file defines functions on a group that are constant on conjugacy classes. It identifies
their module with the module of functions on ConjClasses G, computes its finite rank when there
are finitely many conjugacy classes, pulls class functions back along a group homomorphism,
twists them by a power map, inverts the group element, changes their coefficients along a ring
homomorphism, shows that characters of representations are class functions, and evaluates a sum
over a finite group one conjugacy class at a time.
Inverting the group element, TauCeti.ClassFunction.invMap, is the involution that turns the
character of a representation into the character of its dual
(TauCeti.ClassFunction.invMap_ofCharacter). For finite groups, inversion also conjugates the
values of finite-dimensional complex characters.
The indicator function of a conjugacy class, TauCeti.ClassFunction.classIndicator, is the class
function pulled back from the indicator of a single point of ConjClasses G; pairing a class
function against it is how a class function is read off an expansion in a basis of class functions.
These are the indexing foundations for character tables.
The class-function module and its conjugacy-class correspondence are defined over any semiring.
The finite-rank formula TauCeti.ClassFunction.finrank_eq_card_conjClasses assumes
StrongRankCondition on the coefficients; in particular it applies over fields and over ℤ.
The character constructions use Mathlib's Representation.character and FDRep.character.
The submodule of functions on G that are constant under conjugation.
Equations
Instances For
On a commutative group every function is a class function: conjugation is the identity.
Class functions take the same value on conjugate elements.
Evaluate a class function on a conjugacy class.
Equations
Instances For
Evaluating the induced function on the class of g gives the value at g.
Pull a function on conjugacy classes back to a class function on the group.
Equations
- TauCeti.ClassFunction.ofConjClasses f = ⟨fun (g : G) => f (ConjClasses.mk g), ⋯⟩
Instances For
Pulling back a function on conjugacy classes evaluates it on the class of g.
Pulling a function on conjugacy classes back and evaluating it again returns it.
Evaluating a class function on conjugacy classes and pulling it back returns the original class function.
Pull a class function back along a group homomorphism. Restriction of a class function to a
subgroup is the case φ = S.subtype.
Equations
- TauCeti.ClassFunction.comap φ = { toFun := fun (f : ↥(TauCeti.ClassFunction k G)) => ⟨fun (x : H) => ↑f (φ x), ⋯⟩, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Pulling back along the identity homomorphism changes nothing.
The linear power-map twist f ↦ (g ↦ f (g ^ j)) of a class function. For a finite group,
powers coprime to its exponent describe the cyclotomic Galois action on character values.
Equations
- TauCeti.ClassFunction.powMap j = { toFun := fun (f : ↥(TauCeti.ClassFunction k G)) => ⟨fun (g : G) => ↑f (g ^ j), ⋯⟩, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Twisting by the first power changes nothing.
The linear inversion twist f ↦ (g ↦ f g⁻¹) of a class function. On characters of
finite-dimensional representations, this is passage to the dual representation.
Equations
- TauCeti.ClassFunction.invMap = { toFun := fun (f : ↥(TauCeti.ClassFunction k G)) => ⟨fun (g : G) => ↑f g⁻¹, ⋯⟩, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The inversion twist evaluates the class function at the inverse of the group element.
Change of coefficients along a ring homomorphism σ : k →+* k': the class function
g ↦ σ (f g). Along algebraMap K L it carries the character of a representation over K to the
character of its scalar extension to L (TauCeti.ClassFunction.ofFDRep_baseChange).
Equations
- TauCeti.ClassFunction.map σ = { toFun := fun (f : ↥(TauCeti.ClassFunction k G)) => ⟨fun (g : G) => σ (↑f g), ⋯⟩, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Changing coefficients along the identity changes nothing.
Class functions on G are linearly equivalent to functions on its conjugacy classes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The linear equivalence is given by toConjClasses.
The inverse linear equivalence is given by ofConjClasses.
The indicator class function of the conjugacy class of x: it takes the value 1 on the
conjugates of x and 0 elsewhere.
Set.indicator rather than Pi.single so that the definition carries no decidability instance of
its own, and TauCeti.ClassFunction.classIndicator_apply can be stated with whichever instance is
in scope where it is used.
Equations
- TauCeti.ClassFunction.classIndicator x = TauCeti.ClassFunction.ofConjClasses ({ConjClasses.mk x}.indicator fun (x : ConjClasses G) => 1)
Instances For
The defining values of TauCeti.ClassFunction.classIndicator.
The sum of a class function over a finite group is the sum of its values on conjugacy classes, weighted by the sizes of those classes. This converts group sums into sums over the columns of a character table.
Over a semiring satisfying the strong rank condition, the finite rank of the class-function module is the number of conjugacy classes, provided there are finitely many.
The character of a representation is a class function.
Equations
Instances For
The class function of a representation evaluates to its character.
Inverting the group element in a character gives the character of the dual
representation: χ_{ρ*}(g) = χ_ρ(g⁻¹).
The character of a finite-dimensional bundled representation is a class function.
Equations
Instances For
The class function of a bundled finite-dimensional representation is the class function of the
underlying representation: FDRep.character is Representation.character of V.ρ.
A function factoring through a homomorphism into a commutative monoid is a class function,
conjugation being invisible there; for instance a linear character χ : G →* kˣ, read in k.