mathlib3 documentation

monlib / linear_algebra.my_ips.nontracial

Some results on the Hilbert space on finite-dimensional C*-algebras #

This file contains some results on the Hilbert space on finite-dimensional C*-algebras (so just a direct sum of matrix algebras over ℂ).

Section single_block #

theorem inner_std_basis_matrix_left {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (i j : n) (x : matrix n n ) :
theorem linear_map.mul'_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 ) :

we can expres the nontracial adjoint of linear_map.mul' by $$m^*(x) = \sum_{i,j,k,l} x_{il}Q^{-1}_{kj}(e_{ij} \otimes_t e_{kl})$$

theorem one_inner {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (a : matrix n n ) :
theorem module.dual.is_faithful_pos_map.inner_coord' {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (ij : n × n) (x : matrix n n ) :
has_inner.inner ((_.basis) ij) x = x.mul (_.rpow (1 / 2)) ij.fst ij.snd
noncomputable def module.dual.is_faithful_pos_map.sig {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (z : ) :
Equations
theorem module.dual.is_faithful_pos_map.sig_apply {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (z : ) (x : matrix n n ) :
(hφ.sig z) x = ((_.rpow (-z)).mul x).mul (_.rpow z)
theorem module.dual.is_faithful_pos_map.sig_symm_apply {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (z : ) (x : matrix n n ) :
((hφ.sig z).symm) x = ((_.rpow z).mul x).mul (_.rpow (-z))
theorem module.dual.is_faithful_pos_map.sig_symm_eq {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (z : ) :
(hφ.sig z).symm = hφ.sig (-z)
Equations
Equations
theorem module.dual.is_faithful_pos_map.basis_op_repr_apply {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (x : (matrix n n )ᵐᵒᵖ) (ij : n × n) :
((hφ.basis.mul_opposite.repr) x) ij = (unop x).mul (_.rpow (1 / 2)) ij.fst ij.snd
theorem module.dual.is_faithful_pos_map.sig_apply_sig {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (t s : ) (x : matrix n n ) :
(hφ.sig t) ((hφ.sig s) x) = (hφ.sig (t + s)) x
theorem module.dual.is_faithful_pos_map.sig_zero {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (x : matrix n n ) :
(hφ.sig 0) x = x
theorem module.dual.is_faithful_pos_map.Psi_left_inv' {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (t s : ) (A : matrix n n →ₗ[] matrix n n ) :
(hφ.Psi_inv_fun' t s) ((hφ.Psi_to_fun' t s) A) = A
theorem module.dual.is_faithful_pos_map.Psi_right_inv' {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (t s : ) (x : matrix n n ) (y : (matrix n n )ᵐᵒᵖ) :
(hφ.Psi_to_fun' t s) ((hφ.Psi_inv_fun' t s) (x ⊗ₜ[] y)) = x ⊗ₜ[] y
@[simp]
theorem module.dual.is_faithful_pos_map.Psi_apply {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (t s : ) (x : matrix n n →ₗ[] matrix n n ) :
(hφ.Psi t s) x = (hφ.Psi_to_fun' t s) x

this defines the linear equivalence from linear maps on $M_n$ to $M_n\otimes M_n^\textnormal{op}$, i.e., $$\Psi_{t,s}\colon \mathcal{L}(M_n) \cong_{\texttt{l}} M_n \otimes M_n^\textnormal{op}$$

Equations
@[simp]
theorem module.dual.is_faithful_pos_map.Psi_symm_apply {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (t s : ) (x : tensor_product (matrix n n ) (matrix n n )ᵐᵒᵖ) :
((hφ.Psi t s).symm) x = (hφ.Psi_inv_fun' t s) x
theorem nontracial.inner_symm' {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 module.dual.is_faithful_pos_map.basis_apply' {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (i j : n) :
(_.basis) (i, j) = (matrix.std_basis_matrix i j 1).mul (_.rpow (-(1 / 2)))
theorem sig_apply_pos_def_matrix {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (t s : ) :
(_.sig t) (_.rpow s) = _.rpow s
theorem sig_apply_pos_def_matrix' {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (t : ) :
(_.sig t) φ.matrix = φ.matrix
theorem linear_functional_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 ) :
φ ((_.sig t) x) = φ x

Section direct_sum #

theorem include_block_adjoint {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i : k} (x : Π (j : k), matrix (s j) (s j) ) :
@[protected, instance]
def pi.tensor_product_finite_dimensional {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
finite_dimensional (tensor_product (Π (i : k), matrix (s i) (s i) ) (Π (i : k), matrix (s i) (s i) ))
theorem pi_inner_std_basis_matrix_left {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (i : k) (j l : s i) (x : Π (i : k), matrix (s i) (s i) ) :
has_inner.inner (matrix.std_basis_matrix i, j⟩ i, l⟩ 1).block_diag' x = (x i * (ψ i).matrix) j l
theorem eq_mpr_std_basis_matrix {k : Type u_1} {s : k Type u_2} [Π (i : k), decidable_eq (s i)] {i j : k} {b c : s j} (h₁ : i = j) :
theorem pi_inner_std_basis_matrix_std_basis_matrix {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i j : k} (a b : s i) (c d : s j) :
has_inner.inner (matrix.std_basis_matrix i, a⟩ i, b⟩ 1).block_diag' (matrix.std_basis_matrix j, c⟩ j, d⟩ 1).block_diag' = dite (i = j) (λ (h : i = j), ite (a = _.mpr c) ((ψ i).matrix (_.mpr d) b) 0) (λ (h : ¬i = j), 0)
theorem pi_inner_std_basis_matrix_std_basis_matrix_same {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i : k} (a b c d : s i) :
theorem pi_inner_std_basis_matrix_std_basis_matrix_ne {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i j : k} (h : i j) (a b : s i) (c d : s j) :
theorem linear_map.pi_mul'_adjoint_single_block {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i : k} (x : matrix (s i) (s i) ) :
theorem linear_map.pi_mul'_adjoint {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : Π (i : k), matrix (s i) (s i) ) :
(linear_map.adjoint (linear_map.mul' (Π (i : k), matrix (s i) (s i) ))) x = finset.univ.sum (λ (r : k), finset.univ.sum (λ (a : s r), finset.univ.sum (λ (b : s r), finset.univ.sum (λ (c : s r), finset.univ.sum (λ (d : s r), (x r a d * (module.dual.pi.matrix_block ψ r)⁻¹ c b) (matrix.std_basis_matrix r, a⟩ r, b⟩ 1).block_diag' ⊗ₜ[] (matrix.std_basis_matrix r, c⟩ r, d⟩ 1).block_diag')))))
theorem linear_map.pi_mul'_apply_include_block {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {i : k} (x : tensor_product (matrix (s i) (s i) ) (matrix (s i) (s i) )) :
theorem linear_map.pi_mul'_comp_mul'_adjoint {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : Π (i : k), matrix (s i) (s i) ) :
(linear_map.mul' (Π (i : k), matrix (s i) (s i) )) ((linear_map.adjoint (linear_map.mul' (Π (i : k), matrix (s i) (s i) ))) x) = finset.univ.sum (λ (i : k), ((ψ i).matrix)⁻¹.trace matrix.include_block (x i))
theorem linear_map.pi_mul'_comp_mul'_adjoint_eq_smul_id_iff {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] [ (i : k), nontrivial (s i)] (α : ) :
(linear_map.mul' (Π (i : k), matrix (s i) (s i) )).comp (linear_map.adjoint (linear_map.mul' (Π (i : k), matrix (s i) (s i) ))) = α 1 (i : k), ((ψ i).matrix)⁻¹.trace = α
theorem module.dual.pi.is_faithful_pos_map.inner_coord' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] {i : k} (ij : s i × s i) (x : Π (i : k), matrix (s i) (s i) ) :
has_inner.inner ((module.dual.pi.is_faithful_pos_map.basis _) i, ij⟩) x = (x * λ (j : k), _.rpow (1 / 2)) i ij.fst ij.snd
theorem module.dual.pi.is_faithful_pos_map.map_star {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {ψ : Π (i : k), module.dual (matrix (s i) (s i) )} (hψ : (i : k), (ψ i).is_faithful_pos_map) (x : Π (i : k), matrix (s i) (s i) ) :
theorem nontracial.pi.unit_adjoint_eq {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] :
def module.dual.pi.is_faithful_pos_map.matrix_is_pos_def {k : Type u_1} {s : k Type u_2} [Π (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) (i : k) :
noncomputable def pi.pos_def.rpow {k : Type u_1} {s : k Type u_2} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {a : Π (i : k), matrix (s i) (s i) } (ha : (i : k), (a i).pos_def) (r : ) (i : k) :
matrix (s i) (s i)
Equations
theorem pi.pos_def.rpow_mul_rpow {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {a : Π (i : k), matrix (s i) (s i) } (ha : (i : k), (a i).pos_def) (r₁ r₂ : ) :
pi.pos_def.rpow ha r₁ * pi.pos_def.rpow ha r₂ = pi.pos_def.rpow ha (r₁ + r₂)
theorem pi.pos_def.rpow_zero {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {a : Π (i : k), matrix (s i) (s i) } (ha : (i : k), (a i).pos_def) :
theorem module.dual.pi.is_faithful_pos_map.include_block_right_inner {k : Type u_1} [fintype k] [decidable_eq k] {s : k Type u_2} [Π (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] {i : k} (y : Π (j : k), matrix (s j) (s j) ) (x : matrix (s i) (s i) ) :
theorem pi_include_block_right_rank_one {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (a : Π (i : k), matrix (s i) (s i) ) {i : k} (b : matrix (s i) (s i) ) (c : Π (i : k), matrix (s i) (s i) ) (j : k) :
theorem pi_include_block_left_rank_one {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (b : Π (i : k), matrix (s i) (s i) ) {i : k} (a : matrix (s i) (s i) ) (c : Π (i : k), matrix (s i) (s i) ) (j : k) :
(rank_one (matrix.include_block a) b) c j = has_inner.inner b c dite (i = j) (λ (h : i = j), _.mpr a) (λ (h : ¬i = j), 0)
noncomputable def module.dual.pi.is_faithful_pos_map.sig {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (z : ) :
(Π (i : k), matrix (s i) (s i) ) ≃ₐ[] Π (i : k), matrix (s i) (s i)
Equations
theorem module.dual.pi.is_faithful_pos_map.sig_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (z : ) (x : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.sig_symm_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (z : ) (x : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.sig_symm_eq {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (z : ) :
theorem module.dual.pi.is_faithful_pos_map.sig_apply_single_block {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (z : ) {i : k} (x : matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.sig_eq_pi_blocks {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (z : ) (x : Π (i : k), matrix (s i) (s i) ) {i : k} :
theorem pi.pos_def.rpow.is_pos_def {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {a : Π (i : k), matrix (s i) (s i) } (ha : (i : k), (a i).pos_def) (r : ) (i : k) :
theorem pi.pos_def.rpow.is_self_adjoint {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {a : Π (i : k), matrix (s i) (s i) } (ha : (i : k), (a i).pos_def) (r : ) :
theorem module.dual.pi.is_faithful_pos_map.sig_star {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (z : ) (x : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.sig_apply_sig {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) (x : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.sig_zero {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.to_matrix_apply'' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (f : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) (r l : Σ (r : k), s r × s r) :
theorem finset.sum_product_univ {β : Type u_1} {α : Type u_2} {γ : Type u_3} [add_comm_monoid β] [fintype α] [fintype γ] {f : γ × α β} :
finset.univ.sum (λ (x : γ × α), f x) = finset.univ.sum (λ (x : γ), finset.univ.sum (λ (y : α), f (x, y)))
theorem module.dual.pi.is_faithful_pos_map.to_matrix_symm_apply' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : matrix (Σ (i : k), s i × s i) (Σ (i : k), s i × s i) ) :
((module.dual.pi.is_faithful_pos_map.to_matrix _).symm) x = finset.univ.sum (λ (a : k), finset.univ.sum (λ (i : s a), finset.univ.sum (λ (j : s a), finset.univ.sum (λ (b : k), finset.univ.sum (λ (c : s b), finset.univ.sum (λ (d : s b), x a, (i, j) b, (c, d) (rank_one ((module.dual.pi.is_faithful_pos_map.basis _) a, (i, j)⟩) ((module.dual.pi.is_faithful_pos_map.basis _) b, (c, d)⟩))))))))
theorem tensor_product.of_basis_eq_span {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [is_R_or_C 𝕜] [add_comm_group E] [module 𝕜 E] [add_comm_group F] [module 𝕜 F] (x : tensor_product 𝕜 E F) {ι₁ : Type u_4} {ι₂ : Type u_5} [fintype ι₁] [fintype ι₂] (b₁ : basis ι₁ 𝕜 E) (b₂ : basis ι₂ 𝕜 F) :
x = finset.univ.sum (λ (i : ι₁), finset.univ.sum (λ (j : ι₂), (((b₁.tensor_product b₂).repr) x) (i, j) b₁ i ⊗ₜ[𝕜] b₂ j))
theorem module.dual.pi.is_faithful_pos_map.to_matrix_eq_orthonormal_basis_to_matrix {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.linear_map_eq {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t r : ) (x : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :
x = finset.univ.sum (λ (a : Σ (i : k), (λ (i : k), s i) i × (λ (i : k), s i) i), finset.univ.sum (λ (b : Σ (i : k), (λ (i : k), s i) i × (λ (i : k), s i) i), (module.dual.pi.is_faithful_pos_map.to_matrix _) x a b (rank_one ((module.dual.pi.is_faithful_pos_map.basis _) a) ((module.dual.pi.is_faithful_pos_map.basis _) b))))
noncomputable def module.dual.pi.is_faithful_pos_map.Psi_to_fun' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) :
((Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) →ₗ[] tensor_product (Π (i : k), matrix (s i) (s i) ) (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ
Equations
theorem pi.is_faithful_pos_map.to_matrix.rank_one_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) ) :
theorem module.dual.pi.is_faithful_pos_map.basis_repr_apply_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (a : Π (i : k), matrix (s i) (s i) ) (x : Σ (i : k), s i × s i) :
theorem module.dual.pi.is_faithful_pos_map.Psi_to_fun'_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t r : ) (a b : Π (i : k), matrix (s i) (s i) ) :
theorem algebra.tensor_product.map_apply_map_apply {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} {E : Type u_6} {F : Type u_7} [semiring A] [semiring B] [semiring C] [semiring D] [semiring E] [semiring F] [algebra R A] [algebra R B] [algebra R C] [algebra R D] [algebra R E] [algebra R F] (f : A →ₐ[R] B) (g : C →ₐ[R] D) (z : B →ₐ[R] E) (w : D →ₐ[R] F) (x : tensor_product R A C) :
theorem tensor_product.map_apply_map_apply {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} {E : Type u_6} {F : Type u_7} [add_comm_monoid A] [add_comm_monoid B] [add_comm_monoid C] [add_comm_monoid D] [add_comm_monoid E] [add_comm_monoid F] [module R A] [module R B] [module R C] [module R D] [module R E] [module R F] (f : A →ₗ[R] B) (g : C →ₗ[R] D) (z : B →ₗ[R] E) (w : D →ₗ[R] F) (x : tensor_product R A C) :
def alg_equiv.tensor_product.map {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [semiring A] [semiring B] [semiring C] [semiring D] [algebra R A] [algebra R B] [algebra R C] [algebra R D] (f : A ≃ₐ[R] B) (g : C ≃ₐ[R] D) :
Equations
def linear_equiv.tensor_product.map {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [add_comm_monoid A] [add_comm_monoid B] [add_comm_monoid C] [add_comm_monoid D] [module R A] [module R B] [module R C] [module R D] (f : A ≃ₗ[R] B) (g : C ≃ₗ[R] D) :
Equations
@[simp]
theorem linear_equiv.tensor_product.map_apply {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [add_comm_monoid A] [add_comm_monoid B] [add_comm_monoid C] [add_comm_monoid D] [module R A] [module R B] [module R C] [module R D] (f : A ≃ₗ[R] B) (g : C ≃ₗ[R] D) (x : tensor_product R A C) :
@[simp]
theorem linear_equiv.tensor_product.map_symm_apply {R : Type u_1} [comm_semiring R] {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [add_comm_monoid A] [add_comm_monoid B] [add_comm_monoid C] [add_comm_monoid D] [module R A] [module R B] [module R C] [module R D] (f : A ≃ₗ[R] B) (g : C ≃ₗ[R] D) (x : tensor_product R B D) :
@[simp]
theorem pi.transpose_alg_equiv_symm_apply (p : Type u_1) [fintype p] [decidable_eq p] (n : p Type u_2) [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] (A : (Π (i : p), matrix (n i) (n i) )ᵐᵒᵖ) (i : p) :
def pi.transpose_alg_equiv (p : Type u_1) [fintype p] [decidable_eq p] (n : p Type u_2) [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] :
(Π (i : p), matrix (n i) (n i) ) ≃ₐ[] (Π (i : p), matrix (n i) (n i) )ᵐᵒᵖ
Equations
@[simp]
theorem pi.transpose_alg_equiv_apply (p : Type u_1) [fintype p] [decidable_eq p] (n : p Type u_2) [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] (A : Π (i : p), matrix (n i) (n i) ) :
theorem pi.transpose_alg_equiv_symm_op_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] (A : Π (i : k), matrix (s i) (s i) ) :
def tensor_product_mul_op_equiv {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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
noncomputable def module.dual.pi.is_faithful_pos_map.Psi_inv_fun' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) :
tensor_product (Π (i : k), matrix (s i) (s i) ) (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ →ₗ[] (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i)
Equations
theorem rank_one_smul_smul {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] (x y : E) (r₁ r₂ : 𝕜) :
rank_one (r₁ x) (has_star.star r₂ y) = (r₁ * r₂) rank_one x y
theorem rank_one_lm_smul_smul {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] (x y : E) (r₁ r₂ : 𝕜) :
(rank_one (r₁ x) (has_star.star r₂ y)) = (r₁ * r₂) (rank_one x y)
theorem rank_one_sum_sum {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] {ι₁ : Type u_3} {ι₂ : Type u_4} [fintype ι₁] [fintype ι₂] (f : ι₁ E) (g : ι₂ E) :
rank_one (finset.univ.sum (λ (i : ι₁), f i)) (finset.univ.sum (λ (i : ι₂), g i)) = finset.univ.sum (λ (i : ι₁), finset.univ.sum (λ (j : ι₂), rank_one (f i) (g j)))
theorem rank_one_lm_sum_sum {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] {ι₁ : Type u_3} {ι₂ : Type u_4} [fintype ι₁] [fintype ι₂] (f : ι₁ E) (g : ι₂ E) :
(rank_one (finset.univ.sum (λ (i : ι₁), f i)) (finset.univ.sum (λ (i : ι₂), g i))) = finset.univ.sum (λ (i : ι₁), finset.univ.sum (λ (j : ι₂), (rank_one (f i) (g j))))
theorem module.dual.pi.is_faithful_pos_map.Psi_inv_fun'_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t r : ) (x : Π (i : k), matrix (s i) (s i) ) (y : (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ) :
theorem module.dual.pi.is_faithful_pos_map.Psi_left_inv {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t r : ) (x y : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.Psi_right_inv {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t r : ) (x : Π (i : k), matrix (s i) (s i) ) (y : (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ) :
noncomputable def module.dual.pi.is_faithful_pos_map.Psi {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) :
((Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) ≃ₗ[] tensor_product (Π (i : k), matrix (s i) (s i) ) (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ
Equations
@[simp]
theorem module.dual.pi.is_faithful_pos_map.Psi_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) (x : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :
@[simp]
theorem module.dual.pi.is_faithful_pos_map.Psi_symm_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) (t r : ) (x : tensor_product (Π (i : k), matrix (s i) (s i) ) (Π (i : k), matrix (s i) (s i) )ᵐᵒᵖ) :
theorem pi.inner_symm {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) ) :
theorem module.dual.pi.is_faithful_pos_map.norm_eq {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : Π (i : k), matrix (s i) (s i) ) :
theorem norm_mul_norm_eq_norm_tmul {𝕜 : Type u_1} {B : Type u_2} {C : Type u_3} [is_R_or_C 𝕜] [normed_add_comm_group B] [normed_add_comm_group C] [inner_product_space 𝕜 B] [inner_product_space 𝕜 C] [finite_dimensional 𝕜 B] [finite_dimensional 𝕜 C] (x : B) (y : C) :
@[protected, instance]
@[protected, instance]
@[protected, instance]
def pi.matrix.is_fd {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
finite_dimensional (Π (i : k), matrix (s i) (s i) )
@[protected, instance]
def pi.matrix.is_star_module {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
star_module (Π (i : k), matrix (s i) (s i) )
@[protected, instance]
def pi.matrix.is_topological_add_group {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
topological_add_group (Π (i : k), matrix (s i) (s i) )
@[protected, instance]
def pi.matrix.has_continuous_smul {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] :
has_continuous_smul (Π (i : k), matrix (s i) (s i) )
theorem pi.rank_one_lm_real_apply {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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) ) :
theorem pi.pos_def.rpow_one_eq_self {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {Q : Π (i : k), matrix (s i) (s i) } (hQ : (i : k), (Q i).pos_def) :
theorem pi.pos_def.rpow_neg_one_eq_inv_self {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (i : k), fintype (s i)] [Π (i : k), decidable_eq (s i)] {Q : Π (i : k), matrix (s i) (s i) } (hQ : (i : k), (Q i).pos_def) :
theorem module.dual.pi.is_faithful_pos_map.inner_left_conj' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (a b c : Π (i : k), matrix (s i) (s i) ) :
theorem module.dual.pi.is_faithful_pos_map.inner_right_conj' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (a b c : Π (i : k), matrix (s i) (s i) ) :
theorem moudle.dual.pi.is_faithful_pos_map.sig_trans_sig {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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 : ) :
theorem module.dual.pi.is_faithful_pos_map.sig_zero' {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] :
theorem pi.comp_sig_eq_iff {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t : ) (f g : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :
theorem pi.sig_comp_eq_iff {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (t : ) (f g : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :
theorem rank_one_lm_eq_rank_one {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] (x y : E) :
theorem linear_map.pi.adjoint_real_eq {k : Type u_2} [fintype k] [decidable_eq k] {s : k Type u_3} [Π (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] (f : (Π (i : k), matrix (s i) (s i) ) →ₗ[] Π (i : k), matrix (s i) (s i) ) :