# 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 ¬(ring_char k ∣ fintype.card G).

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 π.

## 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 → (W →ₗ[k] V)

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

theorem monoid_algebra.exists_left_inverse_of_injective {k : Type u} [field k] {G : Type u} [fintype G] [group G] {V : Type u} [ V] [module G) V] [ G) V] {W : Type u} [ W] [module G) W] [ G) W] (not_dvd : ¬) (f : V →ₗ[] W) :
f.ker = (∃ (g : W →ₗ[] V), g.comp f = linear_map.id)

theorem monoid_algebra.submodule.exists_is_compl {k : Type u} [field k] {G : Type u} [fintype G] [group G] {V : Type u} [ V] [module G) V] [ G) V] (not_dvd : ¬) (p : submodule G) V) :
∃ (q : submodule G) V), q