[Merged by Bors] - feat(Analysis/NormedSpace/PiTensorProduct/{InjectiveNorm, ProjectiveNorm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on PiTensorProduct and prove the universal property of the first one#11534
Conversation
added 16 commits
March 16, 2024 20:50
sgouezel
reviewed
Mar 20, 2024
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
…thlib4 into SM.injectiveNorm
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
sgouezel
reviewed
Mar 24, 2024
Contributor
sgouezel
left a comment
There was a problem hiding this comment.
This is great, thanks a lot!
bors d+
Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean
Outdated
Show resolved
Hide resolved
Contributor
|
✌️ smorel394 can now approve this pull request. To approve and merge a pull request, simply reply with |
…m.lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
…thlib4 into SM.injectiveNorm
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
….lean Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
…thlib4 into SM.injectiveNorm
Collaborator
Author
|
Thanks for reviewing ! |
mathlib-bors bot
pushed a commit
that referenced
this pull request
Mar 24, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
Contributor
|
Pull request successfully merged into master. Build succeeded: |
PiTensorProduct and prove the universal property of the first onePiTensorProduct and prove the universal property of the first one
xgenereux
pushed a commit
that referenced
this pull request
Mar 25, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
utensil
pushed a commit
that referenced
this pull request
Mar 26, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
xgenereux
pushed a commit
that referenced
this pull request
Apr 15, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
atarnoam
pushed a commit
that referenced
this pull request
Apr 16, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
uniwuni
pushed a commit
that referenced
this pull request
Apr 19, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
callesonne
pushed a commit
that referenced
this pull request
Apr 22, 2024
…orm}, LinearAlgebra/PiTensorProduct): define the injective and projective norms on `PiTensorProduct` and prove the universal property of the first one (#11534) Define the injective and projective cross norms on a `PiTensorProduct` of normed vector spaces `Eᵢ` over a nontrivially normed field `𝕜` (cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces). The projective norm, defined in `Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean`, is the biggest norm on the `PiTensorProduct` satisfying `‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖` for every `m` in `Π i, Eᵢ`. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas in `LinearAlgebra/PiTensorProduct.lean` about the set of lifts in `FreeAddMonoid (R × Π i, s i)` of an element `x` of `⨂[R] i, s i`. The injective norm, defined in `Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean`, is chosen to satisfy the following property: for every normed `𝕜`-vector space `F`, the linear equivalence `MultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] F` expressing the universal property of the tensor product induces an isometric linear equivalence `ContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F`. The idea is the following: Every normed `𝕜`-vector space `F` defines a linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F`, which sends `x` to the map `f ↦ f.lift x`. Thanks to `PiTensorProduct.projectiveSeminorm_bound`, this map lands in `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F`. As this last space has a natural operator seminorm, we get an induced seminorm on `⨂[𝕜] i, Eᵢ`, which, by `PiTensorProduct.projectiveSeminorm_bound`, is bounded above by the projective seminorm. We then take the `sup` of these seminorms as `F` varies; as this family of seminorms is bounded, its `sup` has good properties. In fact, we cannot take the `sup` over all normed spaces `F` because of set-theoretical issues, so we only take spaces `F` in the same universe as `⨂[𝕜] i, Eᵢ`. We then prove in `PiTensorProduct.norm_eval_le_injectiveSeminorm` that this gives the same result, because every multilinear map from `E` to `F` factors though a normed vector space in the same universe as `⨂[𝕜] i, Eᵢ`. # Main definitions * `PiTensorProduct.projectiveSeminorm`: The projective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.toDualContinuousMultilinearMap`: The `𝕜`-linear map from `⨂[𝕜] i, Eᵢ` to `ContinuousMultilinearMap 𝕜 E F →L[𝕜] F` sending `x` to the map `f ↦ f x`. * `PiTensorProduct.injectiveSeminorm`: The injective seminorm on `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.liftEquiv`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as a continuous linear equivalence. * `PiTensorProduct.liftIsometry`: The bijection between `ContinuousMultilinearMap 𝕜 E F` and `(⨂[𝕜] i, Eᵢ) →L[𝕜] F`, as an isometric linear equivalence. * `PiTensorProduct.tprodL`: The cacnonical continuous multilinear map from `E` to `⨂[𝕜] i, Eᵢ`. * `PiTensorProduct.mapL`: The continuous linear map from `⨂[𝕜] i, Eᵢ` to `⨂[𝕜] i, E'ᵢ` induced by a family of continuous linear maps `Eᵢ →L[𝕜] E'ᵢ`. * `PiTensorProduct.mapLMultilinear`: The continuous multilinear map from `fun i ↦ (Eᵢ →L[𝕜] E'ᵢ)` to `(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)` sending a family `f` to `PiTensorProduct.mapL f`. # Main results * `PiTensorProduct.norm_eval_le_projectiveSeminorm`: For every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x `. This implies in particular: * `PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm`: The injective seminorm is bounded above by the projective seminorm. * `PiTensorProduct.norm_eval_le_injectiveSeminorm`: The main property of the injective seminorm on `⨂[𝕜] i, Eᵢ`: for every `x` in `⨂[𝕜] i, Eᵢ` and every continuous multilinear map `f` from `E` to a normed space `F`, we have `‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x `. * `PiTensorProduct.mapL_opNorm`: If `f` is a family of continuous linear maps `fᵢ : Eᵢ →L[𝕜] Fᵢ`, then `‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖`. * `PiTensorProduct.mapLMultilinear_opNorm` : If `F` is a normed vecteor space, then `‖mapLMultilinear 𝕜 E F‖ ≤ 1`. # TODO (in a future PR) If all `Eᵢ` are separated and satisfy `SeparatingDual`, then the seminorm on `⨂[𝕜] i, Eᵢ` is a norm. This uses the construction of a basis of the `PiTensorProduct`, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct. # Technical issues * Ideally, I would prefer not to define `liftEquiv` and to have only `liftIsometry`, but I am using `liftEquiv.left_inv` in the proof that `liftIsometry` preserves norms. Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Define the injective and projective cross norms on a
PiTensorProductof normed vector spacesEᵢover a nontrivially normed field𝕜(cf https://en.wikipedia.org/wiki/Topological_tensor_product#Cross_norms_and_tensor_products_of_Banach_spaces).The projective norm, defined in
Analysis/NormedSpace/PiTensorProduct/ProjectiveNorm.lean, is the biggest norm on thePiTensorProductsatisfying‖⨂ₜ[𝕜] i, m i‖ ≤ Π i, ‖m i‖for everyminΠ i, Eᵢ. We are mainly interested in the injective norm in this PR, so we just give the definition of the projective norm and its basic properties. To help with the proofs, we introduce some lemmas inLinearAlgebra/PiTensorProduct.leanabout the set of lifts inFreeAddMonoid (R × Π i, s i)of an elementxof⨂[R] i, s i.The injective norm, defined in
Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean, is chosen to satisfy the following property: for every normed𝕜-vector spaceF, the linear equivalenceMultilinearMap 𝕜 E F ≃ₗ[𝕜] (⨂[𝕜] i, Eᵢ) →ₗ[𝕜] Fexpressing the universal property of the tensor product induces an isometric linear equivalenceContinuousMultilinearMap 𝕜 E F ≃ₗᵢ[𝕜] (⨂[𝕜] i, Eᵢ) →L[𝕜] F.The idea is the following: Every normed
𝕜-vector spaceFdefines a linear map from⨂[𝕜] i, EᵢtoContinuousMultilinearMap 𝕜 E F →ₗ[𝕜] F, which sendsxto the mapf ↦ f.lift x. Thanks toPiTensorProduct.projectiveSeminorm_bound, this map lands inContinuousMultilinearMap 𝕜 E F →L[𝕜] F. As this last space has a natural operator seminorm, we get an induced seminorm on⨂[𝕜] i, Eᵢ, which, byPiTensorProduct.projectiveSeminorm_bound, is bounded above by the projective seminorm. We then take thesupof these seminorms asFvaries; as this family of seminorms is bounded, itssuphas good properties.In fact, we cannot take the
supover all normed spacesFbecause of set-theoretical issues, so we only take spacesFin the same universe as⨂[𝕜] i, Eᵢ. We then prove inPiTensorProduct.norm_eval_le_injectiveSeminormthat this gives the same result, because every multilinear map fromEtoFfactors though a normed vector space in the same universe as⨂[𝕜] i, Eᵢ.Main definitions
PiTensorProduct.projectiveSeminorm: The projective seminorm on⨂[𝕜] i, Eᵢ.PiTensorProduct.toDualContinuousMultilinearMap: The𝕜-linear map from⨂[𝕜] i, EᵢtoContinuousMultilinearMap 𝕜 E F →L[𝕜] Fsendingxto the mapf ↦ f x.PiTensorProduct.injectiveSeminorm: The injective seminorm on⨂[𝕜] i, Eᵢ.PiTensorProduct.liftEquiv: The bijection betweenContinuousMultilinearMap 𝕜 E Fand
(⨂[𝕜] i, Eᵢ) →L[𝕜] F, as a continuous linear equivalence.PiTensorProduct.liftIsometry: The bijection betweenContinuousMultilinearMap 𝕜 E Fand
(⨂[𝕜] i, Eᵢ) →L[𝕜] F, as an isometric linear equivalence.PiTensorProduct.tprodL: The cacnonical continuous multilinear map fromEto
⨂[𝕜] i, Eᵢ.PiTensorProduct.mapL: The continuous linear map from⨂[𝕜] i, Eᵢto⨂[𝕜] i, E'ᵢinduced by a family of continuous linear maps
Eᵢ →L[𝕜] E'ᵢ.PiTensorProduct.mapLMultilinear: The continuous multilinear map fromfun i ↦ (Eᵢ →L[𝕜] E'ᵢ)to(⨂[𝕜] i, Eᵢ) →L[𝕜] (⨂[𝕜] i, E'ᵢ)sending a familyftoPiTensorProduct.mapL f.Main results
PiTensorProduct.norm_eval_le_projectiveSeminorm: For everyxin⨂[𝕜] i, Eᵢand every continuous multilinear mapffromEto a normed spaceF, we have‖f.lift x‖ ≤ ‖f‖ * projectiveSeminorm x. This implies in particular:PiTensorProduct.injectiveSeminorm_le_projectiveSeminorm: The injective seminorm is bounded above by the projective seminorm.PiTensorProduct.norm_eval_le_injectiveSeminorm: The main property of the injective seminorm on⨂[𝕜] i, Eᵢ: for everyxin⨂[𝕜] i, Eᵢand every continuous multilinear mapffromEto a normed space
F, we have‖f.lift x‖ ≤ ‖f‖ * injectiveSeminorm x.PiTensorProduct.mapL_opNorm: Iffis a family of continuous linear mapsfᵢ : Eᵢ →L[𝕜] Fᵢ, then‖PiTensorProduct.mapL f‖ ≤ ∏ i, ‖fᵢ‖.PiTensorProduct.mapLMultilinear_opNorm: IfFis a normed vecteor space, then‖mapLMultilinear 𝕜 E F‖ ≤ 1.TODO (in a future PR)
If all
Eᵢare separated and satisfySeparatingDual, then the seminorm on⨂[𝕜] i, Eᵢis a norm. This uses the construction of a basis of thePiTensorProduct, hence depends on PR #11156. It should probably go in a separate file, which is why I am creating a directory Analysis/NormedSpace/PiTensorProduct.Technical issues
liftEquivand to have onlyliftIsometry, but I am usingliftEquiv.left_invin the proof thatliftIsometrypreserves norms.