Some messy stuff #
This file contains some messy stuff that I don't want to put in the main file.
Will organise this later.
noncomputable
def
ι_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
theorem
ι_map_apply_rank_one
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(a b : matrix n n ℂ) :
theorem
ι_map_eq_Psi
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
ι_map _ = (tensor_product.map 1 unop).comp (ten_swap.comp (_.Psi 0 1).to_linear_map)
theorem
ι_map_comp_inv
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
theorem
ι_inv_comp_ι_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
noncomputable
def
ι_inv_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
noncomputable
def
ι_linear_equiv
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- ι_linear_equiv hφ = let _inst : fact φ.is_faithful_pos_map := _ in linear_equiv.of_linear (ι_map hφ) (ι_inv_map hφ) _ _
noncomputable
def
phi_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- phi_map hφ = {to_fun := λ (x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ), let _inst : fact φ.is_faithful_pos_map := _ in (tensor_product.map 1 (linear_map.mul' ℂ (matrix n n ℂ))).comp (↑(tensor_product.assoc ℂ (matrix n n ℂ) (matrix n n ℂ) (matrix n n ℂ)).comp ((tensor_product.map (tensor_product.map 1 x) 1).comp (tensor_product.map (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ))) 1))), map_add' := _, map_smul' := _}
theorem
module.dual.is_faithful_pos_map.sig_is_symmetric
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{t : ℝ} :
(_.sig t).to_linear_map.is_symmetric
theorem
ι_inv_map_mul_adjoint_eq_rmul
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
(ι_inv_map _).comp (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ))) = rmul
theorem
Psi_inv_0_0_mul_adjoint_eq_lmul
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
↑((_.Psi 0 0).symm).comp ((tensor_product.map 1 op).comp (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ)))) = lmul
theorem
ten_swap_Psi_eq_Psi_real
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{t s : ℝ} :
theorem
phi_map_eq
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
phi_map _ = rmul_map_lmul.comp (ι_map _)
noncomputable
def
grad
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- grad hφ = let _inst : fact φ.is_faithful_pos_map := _ in {to_fun := λ (x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ), (tensor_product.map (⇑linear_map.adjoint x) 1 - tensor_product.map 1 x).comp (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ))), map_zero' := _, map_add' := _}
Equations
- one_tensor_map = (tensor_product.map 1 (algebra.linear_map ℂ (matrix n n ℂ))).comp (↑((tensor_product.comm ℂ (matrix n n ℂ) ℂ).symm).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm))
Equations
- tensor_one_map = (tensor_product.map (algebra.linear_map ℂ (matrix n n ℂ)) 1).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm)
theorem
one_tensor_map_adjoint
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
⇑linear_map.adjoint one_tensor_map = ↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (↑(tensor_product.comm ℂ (matrix n n ℂ) ℂ).comp (tensor_product.map 1 (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ)))))
theorem
one_tensor_map_adjoint_apply
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x y : matrix n n ℂ) :
⇑(⇑linear_map.adjoint one_tensor_map) (x ⊗ₜ[ℂ] y) = ⇑φ y • x
theorem
tensor_one_map_adjoint
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
⇑linear_map.adjoint tensor_one_map = ↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1)
theorem
tensor_one_map_adjoint_apply
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x y : matrix n n ℂ) :
⇑(⇑linear_map.adjoint tensor_one_map) (x ⊗ₜ[ℂ] y) = ⇑φ x • y
theorem
grad_adjoint
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑linear_map.adjoint (⇑(grad _) x) = ↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1).comp (⇑(phi_map _) x)) - ↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (↑(tensor_product.comm ℂ (matrix n n ℂ) ℂ).comp ((tensor_product.map 1 (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ)))).comp (⇑(phi_map _) x.real)))
theorem
phi_map_of_real_Schur_idempotent
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent _) x) x = x) :
def
phi_map_of_real_Schur_idempotent_orthogonal_projection
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent _) x) x = x) :
noncomputable
def
phi_map_of_real_Schur_idempotent.submodule
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent phi_map_of_real_Schur_idempotent.submodule._proof_1) x) x = x) :
Equations
- phi_map_of_real_Schur_idempotent.submodule hx1 hx2 = (λ (_x : ↑(orthogonal_projection' (classical.some _)) = ⇑(phi_map phi_map_of_real_Schur_idempotent.submodule._proof_8) x), classical.some _) _
def
phi_map_of_real_Schur_idempotent.orthogonal_projection_eq
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent _) x) x = x) :
↑(orthogonal_projection' (phi_map_of_real_Schur_idempotent.submodule hx1 hx2)) = ⇑(phi_map _) x
theorem
grad_apply_of_real_Schur_idempotent
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent _) x) x = x) :
theorem
grad_of_real_Schur_idempotent_range
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ}
(hx1 : x.is_real)
(hx2 : ⇑(⇑(qam.refl_idempotent _) x) x = x) :
linear_map.range (⇑(grad _) x) ≤ phi_map_of_real_Schur_idempotent.submodule hx1 hx2
noncomputable
def
D_out
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- D_out hφ = let _inst : fact φ.is_faithful_pos_map := _ in {to_fun := λ (x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ), (linear_map.mul' ℂ (matrix n n ℂ)).comp ((tensor_product.map 1 (⇑linear_map.adjoint x)).comp one_tensor_map), map_zero' := _, map_add' := _}
theorem
tensor_one_map_adjoint_comp_phi_map_comp_one_tensor_map_rank_one
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x y : matrix n n ℂ) :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1).comp ((⇑(phi_map _) ↑(rank_one x y)).comp ((tensor_product.map 1 (algebra.linear_map ℂ (matrix n n ℂ))).comp (↑((tensor_product.comm ℂ (matrix n n ℂ) ℂ).symm).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm))))) = ↑(rank_one x y)
theorem
tensor_one_map_adjoint_comp_phi_map_comp_one_tensor_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1).comp ((⇑(phi_map _) x).comp ((tensor_product.map 1 (algebra.linear_map ℂ (matrix n n ℂ))).comp (↑((tensor_product.comm ℂ (matrix n n ℂ) ℂ).symm).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm))))) = x
theorem
tensor_one_map_adjoint_comp_phi_map_comp_tensor_one_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1).comp ((⇑(phi_map _) x).comp ((tensor_product.map (algebra.linear_map ℂ (matrix n n ℂ)) 1).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm)))) = ⇑D_in x
theorem
one_tensor_map_adjoint_comp_phi_map_comp_tensor_one_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (↑(tensor_product.comm ℂ (matrix n n ℂ) ℂ).comp ((tensor_product.map 1 (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ)))).comp ((⇑(phi_map _) x).comp ((tensor_product.map (algebra.linear_map ℂ (matrix n n ℂ)) 1).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm))))) = ⇑linear_map.adjoint x.real
theorem
one_tensor_map_adjoint_comp_phi_map_comp_one_tensor_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (↑(tensor_product.comm ℂ (matrix n n ℂ) ℂ).comp ((tensor_product.map 1 (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ)))).comp ((⇑(phi_map _) x).comp ((tensor_product.map 1 (algebra.linear_map ℂ (matrix n n ℂ))).comp (↑((tensor_product.comm ℂ (matrix n n ℂ) ℂ).symm).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm)))))) = ⇑(D_out _) x.real
theorem
qam.refl_idempotent_real
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(a b : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
(⇑(⇑(qam.refl_idempotent _) a) b).real = ⇑(⇑(qam.refl_idempotent _) b.real) a.real
theorem
qam.refl_idempotent_adjoint
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(a b : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑linear_map.adjoint (⇑(⇑(qam.refl_idempotent _) a) b) = ⇑(⇑(qam.refl_idempotent _) (⇑linear_map.adjoint a)) (⇑linear_map.adjoint b)
theorem
D_in_Schur_product_eq_ir_refl
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(A B : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑D_in (⇑(⇑(qam.refl_idempotent _) A) B) = ⇑(⇑(qam.refl_idempotent _) (A.comp (⇑linear_map.adjoint B.real))) 1
theorem
D_out_Schur_product_eq_ir_refl'
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(A B : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑(D_out _) (⇑(⇑(qam.refl_idempotent _) A) B) = ⇑(⇑(qam.refl_idempotent _) 1) ((⇑linear_map.adjoint B).comp A.real)
theorem
grad_adjoint_grad
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
(⇑linear_map.adjoint (⇑(grad _) x)).comp (⇑(grad _) x) = ⇑D_in (⇑(⇑(qam.refl_idempotent _) x) x.real) - ⇑(⇑(qam.refl_idempotent _) x) x - ⇑(⇑(qam.refl_idempotent _) (⇑linear_map.adjoint x)) (⇑linear_map.adjoint x) + ⇑(D_out _) (⇑(⇑(qam.refl_idempotent _) x.real) x)
theorem
ι_inv_map_apply
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x y : matrix n n ℂ) :
theorem
phi_map_maps_to_bimodule_maps
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{A : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ} :
(⇑(phi_map _) A).is_bimodule_map
theorem
phi_map_range
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
theorem
orthonormal_basis_tensor_product_sum_repr
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(a b : matrix n n ℂ) :
finset.univ.sum (λ (x_3 : n × n), finset.univ.sum (λ (x_4 : n × n), has_inner.inner (⇑(_.basis.tensor_product _.basis) (x_3, x_4)) (a ⊗ₜ[ℂ] b) • ⇑(_.basis.tensor_product _.basis) (x_3, x_4))) = a ⊗ₜ[ℂ] b
theorem
linear_map.tensor_matrix_eq_rank_one
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : tensor_product ℂ (matrix n n ℂ) (matrix n n ℂ) →ₗ[ℂ] tensor_product ℂ (matrix n n ℂ) (matrix n n ℂ)) :
x = finset.univ.sum (λ (i : n × n), finset.univ.sum (λ (j : n × n), finset.univ.sum (λ (k : n × n), finset.univ.sum (λ (l : n × n), has_inner.inner (⇑(_.basis.tensor_product _.basis) (i, j)) (⇑x (⇑(_.basis.tensor_product _.basis) (k, l))) • ↑(rank_one (⇑(_.basis.tensor_product _.basis) (i, j)) (⇑(_.basis.tensor_product _.basis) (k, l)))))))
noncomputable
def
phi_inv_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
noncomputable
def
phi_inv'_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- phi_inv'_map hφ = let _inst : fact φ.is_faithful_pos_map := _ in {to_fun := λ (x : tensor_product ℂ (matrix n n ℂ) (matrix n n ℂ) →ₗ[ℂ] tensor_product ℂ (matrix n n ℂ) (matrix n n ℂ)), ↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))) 1).comp (x.comp ((tensor_product.map 1 (algebra.linear_map ℂ (matrix n n ℂ))).comp (↑((tensor_product.comm ℂ (matrix n n ℂ) ℂ).symm).comp ↑((tensor_product.lid ℂ (matrix n n ℂ)).symm))))), map_add' := _, map_smul' := _}
noncomputable
def
phi_inv'_map_coe
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- phi_inv'_map_coe hφ = let _inst : fact φ.is_faithful_pos_map := _ in {to_fun := λ (x : ↥is_bimodule_map.submodule), ⇑(phi_inv'_map hφ) ↑x, map_add' := _, map_smul' := _}
theorem
phi_inv'_map_apply
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x y : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑(phi_inv'_map _) (tensor_product.map x y) = y.comp (↑(rank_one 1 1).comp x)
theorem
ι_linear_equiv_apply_eq
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑(ι_linear_equiv _) x = ⇑(ι_map _) x
theorem
ι_linear_equiv_symm_apply_eq
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : tensor_product ℂ (matrix n n ℂ) (matrix n n ℂ)) :
noncomputable
def
phi_map_coe
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
theorem
phi_map_left_inverse
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
(phi_inv_map _).comp (phi_map_coe _) = 1
theorem
phi_inv'_map_phi_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
(phi_inv'_map_coe _).comp (phi_map_coe _) = 1
theorem
phi_map_right_inverse
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(x : {x // x.is_bimodule_map}) :
⇑(phi_map_coe _) (⇑(phi_inv_map _) x) = x
noncomputable
def
phi_linear_equiv
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
(hφ : φ.is_faithful_pos_map) :
Equations
- phi_linear_equiv hφ = let _inst : fact φ.is_faithful_pos_map := _ in {to_fun := λ (x : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ), ⇑(phi_map_coe hφ) x, map_add' := _, map_smul' := _, inv_fun := λ (x : {x // x.is_bimodule_map}), ⇑(phi_inv_map hφ) x, left_inv := _, right_inv := _}
theorem
phi_inv'_map_eq_phi_inv'_map
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
theorem
sig_apply_sig_inv
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{t : ℝ}
{x : matrix n n ℂ} :
theorem
sig_inv_apply_sig
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
{t : ℝ}
{x : matrix n n ℂ} :
theorem
linear_map.real_adjoint_eq
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map]
(f : matrix n n ℂ →ₗ[ℂ] matrix n n ℂ) :
⇑linear_map.adjoint f.real = (_.sig (-1)).to_linear_map.comp ((⇑linear_map.adjoint f).real.comp (_.sig 1).to_linear_map)
theorem
left_hand_twist_eq_sig_one
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp ((tensor_product.map ((⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp (linear_map.mul' ℂ (matrix n n ℂ))) 1).comp (↑((tensor_product.assoc ℂ (matrix n n ℂ) (matrix n n ℂ) (matrix n n ℂ)).symm).comp ((tensor_product.map 1 ↑(tensor_product.comm ℂ (matrix n n ℂ) (matrix n n ℂ))).comp (↑(tensor_product.assoc ℂ (matrix n n ℂ) (matrix n n ℂ) (matrix n n ℂ)).comp ((tensor_product.map (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ))) 1).comp tensor_one_map))))) = (_.sig 1).to_linear_map
theorem
right_hand_twist_eq_sig_neg_one
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
↑(tensor_product.lid ℂ (matrix n n ℂ)).comp (↑(tensor_product.comm ℂ (matrix n n ℂ) ℂ).comp ((tensor_product.map 1 ((⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp (linear_map.mul' ℂ (matrix n n ℂ)))).comp (↑(tensor_product.assoc ℂ (matrix n n ℂ) (matrix n n ℂ) (matrix n n ℂ)).comp ((tensor_product.map ↑(tensor_product.comm ℂ (matrix n n ℂ) (matrix n n ℂ)) 1).comp (↑((tensor_product.assoc ℂ (matrix n n ℂ) (matrix n n ℂ) (matrix n n ℂ)).symm).comp ((tensor_product.map 1 (⇑linear_map.adjoint (linear_map.mul' ℂ (matrix n n ℂ)))).comp one_tensor_map)))))) = (_.sig (-1)).to_linear_map
theorem
balance_symm_1
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
(⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp ((linear_map.mul' ℂ (matrix n n ℂ)).comp (tensor_product.map (_.sig 1).to_linear_map 1)) = (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp ((linear_map.mul' ℂ (matrix n n ℂ)).comp (tensor_product.map 1 (_.sig (-1)).to_linear_map))
theorem
balance_symm_2
{n : Type u_1}
[fintype n]
[decidable_eq n]
{φ : module.dual ℂ (matrix n n ℂ)}
[hφ : fact φ.is_faithful_pos_map] :
(⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp ((linear_map.mul' ℂ (matrix n n ℂ)).comp (tensor_product.map 1 (_.sig (-1)).to_linear_map)) = (⇑linear_map.adjoint (algebra.linear_map ℂ (matrix n n ℂ))).comp ((linear_map.mul' ℂ (matrix n n ℂ)).comp ↑(tensor_product.comm ℂ (matrix n n ℂ) (matrix n n ℂ)))