Tensor product of inner product spaces #
This file constructs the tensor product of finite-dimensional inner product spaces.
@[protected, instance]
noncomputable
def
tensor_product.has_inner
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F] :
has_inner π (tensor_product π E F)
Equations
- tensor_product.has_inner = {inner := Ξ» (x y : tensor_product π E F), let bβ : orthonormal_basis (fin (finite_dimensional.finrank π E)) π E := std_orthonormal_basis π E, bβ : orthonormal_basis (fin (finite_dimensional.finrank π F)) π F := std_orthonormal_basis π F in finset.univ.sum (Ξ» (i : fin (finite_dimensional.finrank π E)), finset.univ.sum (Ξ» (j : fin (finite_dimensional.finrank π F)), has_star.star (β(β((bβ.to_basis.tensor_product bβ.to_basis).repr) x) (i, j)) * β(β((bβ.to_basis.tensor_product bβ.to_basis).repr) y) (i, j)))}
theorem
tensor_product.inner_tmul
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x z : E)
(y w : F) :
has_inner.inner (x ββ[π] y) (z ββ[π] w) = has_inner.inner x z * has_inner.inner y w
@[protected]
theorem
tensor_product.inner_add_left
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x y z : tensor_product π E F) :
has_inner.inner (x + y) z = has_inner.inner x z + has_inner.inner y z
@[protected]
theorem
tensor_product.inner_zero_right
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x : tensor_product π E F) :
has_inner.inner x 0 = 0
@[protected]
theorem
tensor_product.inner_conj_symm
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x y : tensor_product π E F) :
β(star_ring_end π) (has_inner.inner x y) = has_inner.inner y x
@[protected]
theorem
tensor_product.inner_zero_left
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x : tensor_product π E F) :
has_inner.inner 0 x = 0
@[protected]
theorem
tensor_product.inner_add_right
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x y z : tensor_product π E F) :
has_inner.inner x (y + z) = has_inner.inner x y + has_inner.inner x z
@[protected]
theorem
tensor_product.inner_sum
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
{n : Type u_4}
[fintype n]
(x : n β tensor_product π E F)
(y : tensor_product π E F) :
has_inner.inner (finset.univ.sum (Ξ» (i : n), x i)) y = finset.univ.sum (Ξ» (i : n), has_inner.inner (x i) y)
@[protected]
theorem
tensor_product.sum_inner
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
{n : Type u_4}
[fintype n]
(y : tensor_product π E F)
(x : n β tensor_product π E F) :
has_inner.inner y (finset.univ.sum (Ξ» (i : n), x i)) = finset.univ.sum (Ξ» (i : n), has_inner.inner y (x i))
@[protected]
theorem
tensor_product.inner_nonneg_re
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x : tensor_product π E F) :
0 β€ βis_R_or_C.re (has_inner.inner x x)
theorem
tensor_product.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]
[finite_dimensional π E]
[finite_dimensional π F]
(x : tensor_product π E F) :
β (Ξ± : β₯(basis.of_vector_space_index π E) Γ β₯(basis.of_vector_space_index π F) β E) (Ξ² : β₯(basis.of_vector_space_index π E) Γ β₯(basis.of_vector_space_index π F) β F), finset.univ.sum (Ξ» (i : β₯(basis.of_vector_space_index π E) Γ β₯(basis.of_vector_space_index π F)), Ξ± i ββ[π] Ξ² i) = x
@[instance, reducible]
noncomputable
def
tensor_product.normed_add_comm_group
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F] :
normed_add_comm_group (tensor_product π E F)
@[instance, reducible]
noncomputable
def
tensor_product.inner_product_space
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F] :
inner_product_space π (tensor_product π E F)
Equations
- tensor_product.inner_product_space = inner_product_space.of_core {to_has_inner := {inner := Ξ» (x y : tensor_product π E F), has_inner.inner x y}, conj_symm := _, nonneg_re := _, definite := _, add_left := _, smul_left := _}
theorem
tensor_product.lid_adjoint
{π : Type u_1}
{E : Type u_2}
[is_R_or_C π]
[normed_add_comm_group E]
[inner_product_space π E]
[finite_dimensional π E] :
βlinear_map.adjoint β(tensor_product.lid π E) = β((tensor_product.lid π E).symm)
theorem
tensor_product.comm_adjoint
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F] :
βlinear_map.adjoint β(tensor_product.comm π E F) = β((tensor_product.comm π E F).symm)
theorem
tensor_product.assoc_symm_adjoint
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
{G : Type u_4}
[normed_add_comm_group G]
[inner_product_space π G]
[finite_dimensional π G] :
βlinear_map.adjoint β((tensor_product.assoc π E F G).symm) = β(tensor_product.assoc π E F G)
theorem
tensor_product.assoc_adjoint
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
{G : Type u_4}
[normed_add_comm_group G]
[inner_product_space π G]
[finite_dimensional π G] :
βlinear_map.adjoint β(tensor_product.assoc π E F G) = β((tensor_product.assoc π E F G).symm)
theorem
tensor_product.map_adjoint
{π : Type u_1}
[is_R_or_C π]
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
{D : Type u_5}
[normed_add_comm_group A]
[normed_add_comm_group B]
[normed_add_comm_group C]
[normed_add_comm_group D]
[inner_product_space π A]
[inner_product_space π B]
[inner_product_space π C]
[inner_product_space π D]
[finite_dimensional π A]
[finite_dimensional π B]
[finite_dimensional π C]
[finite_dimensional π D]
(f : A ββ[π] B)
(g : C ββ[π] D) :
theorem
tensor_product.inner_ext_iff
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x z : E)
(y w : F) :
theorem
tensor_product.forall_inner_eq_zero
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x : tensor_product π E F) :
theorem
tensor_product.inner_ext_iff'
{π : Type u_1}
{E : Type u_2}
{F : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group F]
[inner_product_space π E]
[inner_product_space π F]
[finite_dimensional π E]
[finite_dimensional π F]
(x y : tensor_product π E F) :
x = y β β (a : E) (b : F), has_inner.inner x (a ββ[π] b) = has_inner.inner y (a ββ[π] b)
theorem
tensor_product.lid_symm_adjoint
{π : Type u_1}
{E : Type u_2}
[is_R_or_C π]
[normed_add_comm_group E]
[inner_product_space π E]
[finite_dimensional π E] :
βlinear_map.adjoint (tensor_product.lid π E).symm.to_linear_map = β(tensor_product.lid π E)
theorem
tensor_product.comm_symm_adjoint
{π : Type u_1}
{E : Type u_2}
{V : Type u_3}
[is_R_or_C π]
[normed_add_comm_group E]
[normed_add_comm_group V]
[inner_product_space π E]
[inner_product_space π V]
[finite_dimensional π E]
[finite_dimensional π V] :
βlinear_map.adjoint (tensor_product.comm π E V).symm.to_linear_map = β(tensor_product.comm π E V)