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) :