Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 119e166

Browse files
committed
feat(representation_theory/character): formula for the dimension of the invariants in terms of the character (#15084)
1 parent aadba9b commit 119e166

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/representation_theory/character.lean

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Authors: Antoine Labelle
66
import representation_theory.fdRep
77
import linear_algebra.trace
88
import representation_theory.basic
9+
import representation_theory.invariants
910

1011
/-!
1112
# Characters of representations
@@ -22,7 +23,8 @@ noncomputable theory
2223

2324
universes u
2425

25-
open linear_map category_theory.monoidal_category representation
26+
open linear_map category_theory.monoidal_category representation finite_dimensional
27+
open_locale big_operators
2628

2729
variables {k G : Type u} [field k]
2830

@@ -68,6 +70,12 @@ by rw [char_mul_comm, inv_mul_cancel_left]
6870
(of (lin_hom V.ρ W.ρ)).character g = (V.character g⁻¹) * (W.character g) :=
6971
by { rw [←char_iso (dual_tensor_iso_lin_hom _ _), char_tensor, pi.mul_apply, char_dual], refl }
7072

73+
variables [fintype G] [invertible (fintype.card G : k)]
74+
75+
theorem average_char_eq_finrank_invariants (V : fdRep k G) :
76+
⅟(fintype.card G : k) • ∑ g : G, V.character g = finrank k (invariants V.ρ) :=
77+
by { rw ←(is_proj_average_map V.ρ).trace, simp [character, group_algebra.average, _root_.map_sum], }
78+
7179
end group
7280

7381
end fdRep

src/representation_theory/invariants.lean

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,14 @@ The average of all elements of the group `G`, considered as an element of `monoi
3333
noncomputable def average : monoid_algebra k G :=
3434
⅟(fintype.card G : k) • ∑ g : G, of k G g
3535

36-
lemma average_def : average k G = ⅟(fintype.card G : k) • ∑ g : G, of k G g := rfl
37-
3836
/--
3937
`average k G` is invariant under left multiplication by elements of `G`.
4038
-/
4139
@[simp]
4240
theorem mul_average_left (g : G) :
4341
(finsupp.single g 1 * average k G : monoid_algebra k G) = average k G :=
4442
begin
45-
simp only [mul_one, finset.mul_sum, algebra.mul_smul_comm, average_def, monoid_algebra.of_apply,
43+
simp only [mul_one, finset.mul_sum, algebra.mul_smul_comm, average, monoid_algebra.of_apply,
4644
finset.sum_congr, monoid_algebra.single_mul_single],
4745
set f : G → monoid_algebra k G := λ x, finsupp.single x 1,
4846
show ⅟ ↑(fintype.card G) • ∑ (x : G), f (g * x) = ⅟ ↑(fintype.card G) • ∑ (x : G), f x,
@@ -56,7 +54,7 @@ end
5654
theorem mul_average_right (g : G) :
5755
average k G * finsupp.single g 1 = average k G :=
5856
begin
59-
simp only [mul_one, finset.sum_mul, algebra.smul_mul_assoc, average_def, monoid_algebra.of_apply,
57+
simp only [mul_one, finset.sum_mul, algebra.smul_mul_assoc, average, monoid_algebra.of_apply,
6058
finset.sum_congr, monoid_algebra.single_mul_single],
6159
set f : G → monoid_algebra k G := λ x, finsupp.single x 1,
6260
show ⅟ ↑(fintype.card G) • ∑ (x : G), f (x * g) = ⅟ ↑(fintype.card G) • ∑ (x : G), f x,
@@ -111,7 +109,7 @@ The `average_map` acts as the identity on the subspace of invariants.
111109
theorem average_map_id (v : V) (hv : v ∈ invariants ρ) : average_map ρ v = v :=
112110
begin
113111
rw mem_invariants at hv,
114-
simp [average_def, map_sum, hv, finset.card_univ, nsmul_eq_smul_cast k _ v, smul_smul],
112+
simp [average, map_sum, hv, finset.card_univ, nsmul_eq_smul_cast k _ v, smul_smul],
115113
end
116114

117115
theorem is_proj_average_map : linear_map.is_proj ρ.invariants ρ.average_map :=

0 commit comments

Comments
 (0)