# mathlibdocumentation

representation_theory.maschke

# Maschke's theorem #

We prove Maschke's theorem for finite groups, in the formulation that every submodule of a k[G] module has a complement, when k is a field with invertible (fintype.card G : k).

We do the core computation in greater generality. For any [comm_ring k] in which [invertible (fintype.card G : k)], and a k[G]-linear map i : V → W which admits a k-linear retraction π, we produce a k[G]-linear retraction by taking the average over G of the conjugates of π.

## Implementation Notes #

• These results assume invertible (fintype.card G : k) which is equivalent to the more familiar ¬(ring_char k ∣ fintype.card G). It is possible to convert between them using invertible_of_ring_char_not_dvd and not_ring_char_dvd_of_invertible.

## Future work #

It's not so far to give the usual statement, that every finite dimensional representation of a finite group is semisimple (i.e. a direct sum of irreducibles).

We now do the key calculation in Maschke's theorem.

Given V → W, an inclusion of k[G] modules,, assume we have some retraction π (i.e. ∀ v, π (i v) = v), just as a k-linear map. (When k is a field, this will be available cheaply, by choosing a basis.)

We now construct a retraction of the inclusion as a k[G]-linear map, by the formula $$\frac{1}{|G|} \sum_{g \in G} g⁻¹ • π(g • -).$$

def linear_map.conjugate {k : Type u} [comm_ring k] {G : Type u} [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) (g : G) :

We define the conjugate of π by g, as a k-linear map.

Equations
theorem linear_map.conjugate_i {k : Type u} [comm_ring k] {G : Type u} [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) (i : V →ₗ[] W) (h : ∀ (v : V), «π» (i v) = v) (g : G) (v : V) :
(«π».conjugate g) (i v) = v
def linear_map.sum_of_conjugates {k : Type u} [comm_ring k] (G : Type u) [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) [fintype G] :

The sum of the conjugates of π by each element g : G, as a k-linear map.

(We postpone dividing by the size of the group as long as possible.)

Equations
def linear_map.sum_of_conjugates_equivariant {k : Type u} [comm_ring k] (G : Type u) [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) [fintype G] :

In fact, the sum over g : G of the conjugate of π by g is a k[G]-linear map.

Equations
def linear_map.equivariant_projection {k : Type u} [comm_ring k] (G : Type u) [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) [fintype G] [inv : invertible (fintype.card G)] :

We construct our k[G]-linear retraction of i as $$\frac{1}{|G|} \sum_{g \in G} g⁻¹ • π(g • -).$$

Equations
theorem linear_map.equivariant_projection_condition {k : Type u} [comm_ring k] (G : Type u) [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (π : W →ₗ[k] V) (i : V →ₗ[] W) (h : ∀ (v : V), «π» (i v) = v) [fintype G] [inv : invertible (fintype.card G)] (v : V) :
(i v) = v
@[instance]
def char_zero.fintype.card.invertible {k : Type u} [field k] {G : Type u} [fintype G] [group G] [char_zero k] :
Equations
theorem monoid_algebra.exists_left_inverse_of_injective {k : Type u} [field k] {G : Type u} [fintype G] [invertible (fintype.card G)] [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (f : V →ₗ[] W) (hf : f.ker = ) :
∃ (g : W →ₗ[] V),
theorem monoid_algebra.submodule.exists_is_compl {k : Type u} [field k] {G : Type u} [fintype G] [invertible (fintype.card G)] [group G] {V : Type u} [ V] [module G) V] [ G) V] (p : submodule G) V) :
∃ (q : submodule G) V), q
@[instance]
def monoid_algebra.submodule.is_complemented {k : Type u} [field k] {G : Type u} [fintype G] [invertible (fintype.card G)] [group G] {V : Type u} [ V] [module G) V] [ G) V] :

This also implies an instance is_semisimple_module (monoid_algebra k G) V.