@@ -43,102 +43,6 @@ open CategoryTheory LinearMap CategoryTheory.MonoidalCategory Representation Mod
4343
4444variable {k : Type u} [Field k]
4545
46- namespace FDRep
47-
48- section Monoid
49-
50- variable {G : Type v} [Monoid G]
51-
52- /-- The character of a representation `V : FDRep k G` is the function associating to `g : G` the
53- trace of the linear map `V.ρ g`. -/
54- def character (V : FDRep k G) (g : G) :=
55- LinearMap.trace k V (V.ρ g)
56-
57- theorem char_mul_comm (V : FDRep k G) (g : G) (h : G) :
58- V.character (h * g) = V.character (g * h) := by simp only [trace_mul_comm, character, map_mul]
59-
60- @[simp]
61- theorem char_one (V : FDRep k G) : V.character 1 = Module.finrank k V := by
62- simp only [character, map_one, trace_one]
63-
64- /-- The character is multiplicative under the tensor product. -/
65- @[simp]
66- theorem char_tensor (V W : FDRep k G) : (V ⊗ W).character = V.character * W.character := by
67- ext g; convert! trace_tensorProduct' (V.ρ g) (W.ρ g)
68-
69- /-- The character of isomorphic representations is the same. -/
70- theorem char_iso {V W : FDRep k G} (i : V ≅ W) : V.character = W.character := by
71- ext g
72- simp only [character, FDRep.Iso.conj_ρ i]
73- exact (trace_conj' (V.ρ g) _).symm
74-
75- end Monoid
76-
77- section Group
78-
79- variable {G : Type v} [Group G]
80-
81- /-- The character of a representation is constant on conjugacy classes. -/
82- @[simp]
83- theorem char_conj (V : FDRep k G) (g : G) (h : G) : V.character (h * g * h⁻¹) = V.character g := by
84- rw [char_mul_comm, inv_mul_cancel_left]
85-
86- @[simp]
87- theorem char_dual (V : FDRep k G) (g : G) : (of (dual V.ρ)).character g = V.character g⁻¹ :=
88- trace_transpose' (V.ρ g⁻¹)
89-
90- @[simp]
91- theorem char_linHom (V W : FDRep k G) (g : G) :
92- (of (linHom V.ρ W.ρ)).character g = V.character g⁻¹ * W.character g := by
93- rw [← char_iso (dualTensorIsoLinHom _ _), char_tensor, Pi.mul_apply, char_dual]
94-
95- variable [Fintype G] [Invertible (Fintype.card G : k)]
96-
97- theorem average_char_eq_finrank_invariants (V : FDRep k G) :
98- ⅟(Fintype.card G : k) • ∑ g : G, V.character g = finrank k (invariants V.ρ) := by
99- rw [← (isProj_averageMap V.ρ).trace]
100- simp [character, GroupAlgebra.average, _root_.map_sum]
101-
102- /--
103- If `V` are `W` are finite-dimensional representations of a finite group, then the
104- scalar product of their characters is equal to the dimension of the space of
105- equivariant maps from `V` to `W`.
106- -/
107- theorem scalar_product_char_eq_finrank_equivariant (V W : FDRep k G) :
108- ⅟(Fintype.card G : k) • ∑ g : G, W.character g * V.character g⁻¹ =
109- Module.finrank k (V ⟶ W) := by
110- conv_lhs => congr; rfl; congr; rfl; intro _; rw [mul_comm, ← FDRep.char_linHom]
111- -- The scalar product is the character of `Hom(V, W).`
112- rw [FDRep.average_char_eq_finrank_invariants, ← LinearEquiv.finrank_eq
113- (Representation.linHom.invariantsEquivFDRepHom V W), of_ρ']
114- -- The average over the group of the character of a representation equals the dimension of the
115- -- space of invariants, and the space of invariants of `Hom(W, V)` is the subspace of
116- --`G`-equivariant linear maps, `Hom_G(W, V)`.
117-
118- end Group
119-
120- section Orthogonality
121-
122- variable {G : Type v} [Group G] [IsAlgClosed k]
123-
124- variable [Fintype G] [Invertible (Fintype.card G : k)]
125-
126- open scoped Classical in
127- /-- Orthogonality of characters for irreducible representations of finite group over an
128- algebraically closed field whose characteristic doesn't divide the order of the group. -/
129- theorem char_orthonormal (V W : FDRep k G) [Simple V] [Simple W] :
130- ⅟(Fintype.card G : k) • ∑ g : G, V.character g * W.character g⁻¹ =
131- if Nonempty (V ≅ W) then ↑1 else ↑0 := by
132- rw [scalar_product_char_eq_finrank_equivariant]
133- -- The scalar products of the characters is equal to the dimension of the space of
134- -- equivariant maps `W ⟶ V`.
135- rw_mod_cast [finrank_hom_simple_simple W V, Iso.nonempty_iso_symm]
136- -- By Schur's Lemma, the dimension of `Hom_G(W, V)` is `1` is `V ≅ W` and `0` otherwise.
137-
138- end Orthogonality
139-
140- end FDRep
141-
14246namespace Representation
14347
14448section Monoid
@@ -240,3 +144,99 @@ theorem char_orthonormal [IsIrreducible ρ] [IsIrreducible σ] :
240144end Orthogonality
241145
242146end Representation
147+
148+ namespace FDRep
149+
150+ section Monoid
151+
152+ variable {G : Type v} [Monoid G]
153+
154+ /-- The character of a representation `V : FDRep k G` is the function associating to `g : G` the
155+ trace of the linear map `V.ρ g`. -/
156+ def character (V : FDRep k G) (g : G) :=
157+ LinearMap.trace k V (V.ρ g)
158+
159+ theorem char_mul_comm (V : FDRep k G) (g : G) (h : G) :
160+ V.character (h * g) = V.character (g * h) := by simp only [trace_mul_comm, character, map_mul]
161+
162+ @[simp]
163+ theorem char_one (V : FDRep k G) : V.character 1 = Module.finrank k V := by
164+ simp only [character, map_one, trace_one]
165+
166+ /-- The character is multiplicative under the tensor product. -/
167+ @[simp]
168+ theorem char_tensor (V W : FDRep k G) : (V ⊗ W).character = V.character * W.character := by
169+ ext g; convert! trace_tensorProduct' (V.ρ g) (W.ρ g)
170+
171+ /-- The character of isomorphic representations is the same. -/
172+ theorem char_iso {V W : FDRep k G} (i : V ≅ W) : V.character = W.character := by
173+ ext g
174+ simp only [character, FDRep.Iso.conj_ρ i]
175+ exact (trace_conj' (V.ρ g) _).symm
176+
177+ end Monoid
178+
179+ section Group
180+
181+ variable {G : Type v} [Group G]
182+
183+ /-- The character of a representation is constant on conjugacy classes. -/
184+ @[simp]
185+ theorem char_conj (V : FDRep k G) (g : G) (h : G) : V.character (h * g * h⁻¹) = V.character g := by
186+ rw [char_mul_comm, inv_mul_cancel_left]
187+
188+ @[simp]
189+ theorem char_dual (V : FDRep k G) (g : G) : (of (dual V.ρ)).character g = V.character g⁻¹ :=
190+ trace_transpose' (V.ρ g⁻¹)
191+
192+ @[simp]
193+ theorem char_linHom (V W : FDRep k G) (g : G) :
194+ (of (linHom V.ρ W.ρ)).character g = V.character g⁻¹ * W.character g := by
195+ rw [← char_iso (dualTensorIsoLinHom _ _), char_tensor, Pi.mul_apply, char_dual]
196+
197+ variable [Fintype G] [Invertible (Fintype.card G : k)]
198+
199+ theorem average_char_eq_finrank_invariants (V : FDRep k G) :
200+ ⅟(Fintype.card G : k) • ∑ g : G, V.character g = finrank k (invariants V.ρ) := by
201+ rw [← (isProj_averageMap V.ρ).trace]
202+ simp [character, GroupAlgebra.average, _root_.map_sum]
203+
204+ /--
205+ If `V` are `W` are finite-dimensional representations of a finite group, then the
206+ scalar product of their characters is equal to the dimension of the space of
207+ equivariant maps from `V` to `W`.
208+ -/
209+ theorem scalar_product_char_eq_finrank_equivariant (V W : FDRep k G) :
210+ ⅟(Fintype.card G : k) • ∑ g : G, W.character g * V.character g⁻¹ =
211+ Module.finrank k (V ⟶ W) := by
212+ conv_lhs => congr; rfl; congr; rfl; intro _; rw [mul_comm, ← FDRep.char_linHom]
213+ -- The scalar product is the character of `Hom(V, W).`
214+ rw [FDRep.average_char_eq_finrank_invariants, ← LinearEquiv.finrank_eq
215+ (Representation.linHom.invariantsEquivFDRepHom V W), of_ρ']
216+ -- The average over the group of the character of a representation equals the dimension of the
217+ -- space of invariants, and the space of invariants of `Hom(W, V)` is the subspace of
218+ --`G`-equivariant linear maps, `Hom_G(W, V)`.
219+
220+ end Group
221+
222+ section Orthogonality
223+
224+ variable {G : Type v} [Group G] [IsAlgClosed k]
225+
226+ variable [Fintype G] [Invertible (Fintype.card G : k)]
227+
228+ open scoped Classical in
229+ /-- Orthogonality of characters for irreducible representations of finite group over an
230+ algebraically closed field whose characteristic doesn't divide the order of the group. -/
231+ theorem char_orthonormal (V W : FDRep k G) [Simple V] [Simple W] :
232+ ⅟(Fintype.card G : k) • ∑ g : G, V.character g * W.character g⁻¹ =
233+ if Nonempty (V ≅ W) then ↑1 else ↑0 := by
234+ rw [scalar_product_char_eq_finrank_equivariant]
235+ -- The scalar products of the characters is equal to the dimension of the space of
236+ -- equivariant maps `W ⟶ V`.
237+ rw_mod_cast [finrank_hom_simple_simple W V, Iso.nonempty_iso_symm]
238+ -- By Schur's Lemma, the dimension of `Hom_G(W, V)` is `1` is `V ≅ W` and `0` otherwise.
239+
240+ end Orthogonality
241+
242+ end FDRep
0 commit comments