Inner product space structure on tensor product spaces #
This file provides the inner product space structure on tensor product spaces.
We define the inner product on E ⊗ F by ⟪a ⊗ₜ b, c ⊗ₜ d⟫ = ⟪a, c⟫ * ⟪b, d⟫, when E and F are
inner product spaces.
Main definitions: #
TensorProduct.instNormedAddCommGroup: the normed additive group structure on tensor products, where‖x ⊗ₜ y‖ = ‖x‖ * ‖y‖.TensorProduct.instInnerProductSpace: the inner product space structure on tensor products, where⟪a ⊗ₜ b, c ⊗ₜ d⟫ = ⟪a, c⟫ * ⟪b, d⟫.TensorProduct.mapIsometry: the linear isometry version ofTensorProduct.map f gwhenfandgare linear isometries.TensorProduct.congrIsometry: the linear isometry equivalence version ofTensorProduct.congr f gwhenfandgare linear isometry equivalences.TensorProduct.mapInclIsometry: the linear isometry version ofTensorProduct.mapIncl.TensorProduct.commIsometry: the linear isometry version ofTensorProduct.comm.TensorProduct.lidIsometry: the linear isometry version ofTensorProduct.lid.TensorProduct.assocIsometry: the linear isometry version ofTensorProduct.assoc.OrthonormalBasis.tensorProduct: the orthonormal basis of the tensor product of two orthonormal bases.
TODO: #
- Define the continuous linear map version of 
TensorProduct.map. - Complete space of tensor products.
 - Define the normed space without needing inner products, this should be analogous to
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean. 
Equations
- TensorProduct.instInner = { inner := fun (x y : TensorProduct 𝕜 E F) => (TensorProduct.inner_✝ x) y }
 
Equations
- One or more equations did not get rendered due to their size.
 
In ℝ or ℂ fields, the inner product on tensor products is essentially just the inner product
with multiplication instead of tensors, i.e., ⟪a ⊗ₜ b, c ⊗ₜ d⟫ = ⟪a * b, c * d⟫.
Given x, y : E ⊗ F, x = y iff ⟪x, a ⊗ₜ b⟫ = ⟪y, a ⊗ₜ b⟫ for all a, b.
Given x, y : E ⊗ F, x = y iff ⟪a ⊗ₜ b, x⟫ = ⟪a ⊗ₜ b, y⟫ for all a, b.
Given x, y : E ⊗ F ⊗ G, x = y iff ⟪x, a ⊗ₜ b ⊗ₜ c⟫ = ⟪y, a ⊗ₜ b ⊗ₜ c⟫ for all a, b, c.
See also ext_iff_inner_right_threefold' for when x, y : E ⊗ (F ⊗ G).
Given x, y : E ⊗ F ⊗ G, x = y iff ⟪a ⊗ₜ b ⊗ₜ c, x⟫ = ⟪a ⊗ₜ b ⊗ₜ c, y⟫ for all a, b, c.
See also ext_iff_inner_left_threefold' for when x, y : E ⊗ (F ⊗ G).
The tensor product map of two linear isometries is a linear isometry. In particular, this is
the linear isometry version of TensorProduct.map f g when f and g are linear isometries.
Equations
Instances For
This is the natural linear isometry induced by f : F ≃ₗᵢ G.
Equations
Instances For
This is the natural linear isometry induced by f : E ≃ₗᵢ F.
Equations
Instances For
The tensor product of two linear isometry equivalences is a linear isometry equivalence.
In particular, this is the linear isometry equivalence version of TensorProduct.congr f g when f
and g are linear isometry equivalences.
Equations
Instances For
This is the natural linear isometric equivalence induced by f : F ≃ₗᵢ G.
Equations
Instances For
This is the natural linear isometric equivalence induced by f : E ≃ₗᵢ F.
Equations
Instances For
The linear isometry version of TensorProduct.mapIncl.
Equations
Instances For
The linear isometry equivalence version of TensorProduct.comm.
Equations
- TensorProduct.commIsometry 𝕜 E F = (TensorProduct.comm 𝕜 E F).isometryOfInner ⋯
 
Instances For
The linear isometry equivalence version of TensorProduct.lid.
Equations
- TensorProduct.lidIsometry 𝕜 E = (TensorProduct.lid 𝕜 E).isometryOfInner ⋯
 
Instances For
The linear isometry equivalence version of TensorProduct.assoc.
Equations
- TensorProduct.assocIsometry 𝕜 E F G = (TensorProduct.assoc 𝕜 E F G).isometryOfInner ⋯
 
Instances For
Given x, y : E ⊗ (F ⊗ G), x = y iff ⟪x, a ⊗ₜ (b ⊗ₜ c)⟫ = ⟪y, a ⊗ₜ (b ⊗ₜ c)⟫ for all
a, b, c.
See also ext_iff_inner_right_threefold for when x, y : E ⊗ F ⊗ G.
Given x, y : E ⊗ (F ⊗ G), x = y iff ⟪a ⊗ₜ (b ⊗ₜ c), x⟫ = ⟪a ⊗ₜ (b ⊗ₜ c), y⟫ for all
a, b, c.
See also ext_iff_inner_left_threefold for when x, y : E ⊗ F ⊗ G.
The tensor product of two orthonormal vectors is orthonormal.
The tensor product of two orthonormal bases is orthonormal.
The orthonormal basis of the tensor product of two orthonormal bases.
Equations
- b₁.tensorProduct b₂ = (b₁.toBasis.tensorProduct b₂.toBasis).toOrthonormalBasis ⋯