mathlib3 documentation

monlib / linear_algebra.my_ips.frob

Frobenius equations #

This file contains the proof of the Frobenius equations.

noncomputable def module.dual.tensor_mul {n : Type u_1} {p : Type u_2} (φ₁ : module.dual ℂ (matrix n n ℂ)) (φ₂ : module.dual ℂ (matrix p p ℂ)) :
Equations
theorem module.dual.tensor_mul_apply {n : Type u_1} {p : Type u_2} [fintype n] [fintype p] [decidable_eq n] [decidable_eq p] (φ₁ : module.dual ℂ (matrix n n ℂ)) (φ₂ : module.dual ℂ (matrix p p ℂ)) (x : matrix n n ℂ) (y : matrix p p ℂ) :
⇑(φ₁.tensor_mul φ₂) (x ⊗ₜ[ℂ] y) = ⇑φ₁ x * ⇑φ₂ y
theorem module.dual.tensor_mul_apply' {n : Type u_1} {p : Type u_2} [fintype n] [fintype p] [decidable_eq n] [decidable_eq p] (φ₁ : module.dual ℂ (matrix n n ℂ)) (φ₂ : module.dual ℂ (matrix p p ℂ)) (x : tensor_product ℂ (matrix n n ℂ) (matrix p p ℂ)) :
⇑(φ₁.tensor_mul φ₂) x = finset.univ.sum (λ (i : n), finset.univ.sum (λ (j : n), finset.univ.sum (λ (k : p), finset.univ.sum (λ (l : p), ⇑tensor_product.to_kronecker x (i, k) (j, l) * (⇑φ₁ (matrix.std_basis_matrix i j 1) * ⇑φ₂ (matrix.std_basis_matrix k l 1))))))
noncomputable def matrix_direct_sum_from_to {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] (i j : k) :
matrix (s i) (s i) ℂ →ₗ[ℂ] matrix (s j) (s j) ℂ
Equations
theorem matrix_direct_sum_from_to_same {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] (i : k) :
noncomputable def direct_sum_tensor_matrix {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
tensor_product ℂ (Π (i : k), matrix (s i) (s i) ℂ) (Π (i : k), matrix (s i) (s i) ℂ) ≃ₗ[ℂ] Π (i : k × k), tensor_product ℂ (matrix (s i.fst) (s i.fst) ℂ) (matrix (s i.snd) (s i.snd) ℂ)
Equations
noncomputable def direct_sum_tensor_to_kronecker {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
tensor_product ℂ (Π (i : k), matrix (s i) (s i) ℂ) (Π (i : k), matrix (s i) (s i) ℂ) ≃ₗ[ℂ] Π (i : k × k), matrix (s i.fst × s i.snd) (s i.fst × s i.snd) ℂ
Equations
theorem frobenius_equation_direct_sum_aux {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {θ : Π (i : k), module.dual ℂ (matrix (s i) (s i) ℂ)} [hθ : ∀ (i : k), fact (θ i).is_faithful_pos_map] (x y : Π (i : k), matrix (s i) (s i) ℂ) (i j : k) :
theorem direct_sum_tensor_to_kronecker_apply {k : Type u_3} [fintype k] [decidable_eq k] {s : k → Type u_4} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] (x y : Π (i : k), matrix (s i) (s i) ℂ) (r : k × k) (a b : s r.fst × s r.snd) :