Nuclear Tensor Product via Köthe Sequence Spaces #
Defines RapidDecaySeq, the Köthe sequence space s(ℕ) of rapidly decreasing
sequences, and proves it is a nuclear Fréchet space. Then defines
NuclearTensorProduct E₁ E₂ as RapidDecaySeq (via Cantor pairing),
providing a DyninMityaginSpace instance for tensor products of nuclear spaces.
Main definitions #
RapidDecaySeq— rapidly decreasing sequences on ℕrapidDecaySeminorm k— the k-th seminorm:∑ₘ |aₘ| (1+m)^kNuclearTensorProduct E₁ E₂— tensor product of nuclear spaces
Mathematical background #
Every nuclear Fréchet space with a Schauder basis is isomorphic to a Köthe sequence space s(ℕ) with rapidly decreasing weights (Dynin-Mityagin). The tensor product s(ℕ) ⊗̂ s(ℕ) ≅ s(ℕ²) ≅ s(ℕ) via Cantor pairing.
References #
- Dynin, Mityagin, "Criterion for nuclearity in terms of approximative dimension"
- Gel'fand-Vilenkin, "Generalized Functions" Vol. 4
Rapidly Decreasing Sequences #
Weight function lemmas #
Algebraic structure #
Equations
- GaussianField.RapidDecaySeq.instZero = { zero := { val := 0, rapid_decay := GaussianField.RapidDecaySeq.instZero._proof_1 } }
Equations
- GaussianField.RapidDecaySeq.instAdd = { add := fun (a b : GaussianField.RapidDecaySeq) => { val := a.val + b.val, rapid_decay := ⋯ } }
Equations
- GaussianField.RapidDecaySeq.instNeg = { neg := fun (a : GaussianField.RapidDecaySeq) => { val := fun (m : ℕ) => -a.val m, rapid_decay := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Seminorm family #
The k-th seminorm on rapid decay sequences: ∑ₘ |aₘ| · (1+m)^k.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Topology from seminorms #
Standard basis and coefficients #
The m-th standard basis vector: 1 at position m, 0 elsewhere.
Equations
Instances For
Seminorm of a basis vector is exactly (1 + m)^k.
The m-th coefficient linear map: extracts coordinate m.
Equations
- GaussianField.RapidDecaySeq.coeffLM m = { toFun := fun (a : GaussianField.RapidDecaySeq) => a.val m, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The m-th coefficient as a continuous linear map.
Continuity follows from |a.val m| ≤ rapidDecaySeminorm 0 a:
the coordinate projection is bounded by the 0-th seminorm.
Equations
- GaussianField.RapidDecaySeq.coeffCLM m = { toLinearMap := GaussianField.RapidDecaySeq.coeffLM m, cont := ⋯ }
Instances For
DyninMityaginSpace instance #
RapidDecaySeq is T1: if a ≠ 0, the 0-th seminorm ∑ |a_m| > 0.
Equations
- One or more equations did not get rendered due to their size.
Helper lemmas for seminorm transfer #
Monotonicity of rapid-decay seminorms: for j ≤ j', seminorm j ≤ seminorm j'.
The sup of rapid-decay seminorms over a finset is bounded by the seminorm at the max index.
Transfer constructor for DyninMityaginSpace #
Transfer a DyninMityaginSpace structure from RapidDecaySeq to any space
that is continuously linearly equivalent to it. Given seminorms p with
WithSeminorms p and a CLE equiv : E ≃L[ℝ] RapidDecaySeq, constructs the
DyninMityaginSpace instance using basis m := equiv.symm (basisVec m) and
coeff m := coeffCLM m ∘ equiv. Countability of ι and completeness of E
(transferred from RapidDecaySeq via the CLE) are propagated automatically.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ofRapidDecayEquiv always produces a biorthogonal DM space.
Cantor Pairing Bound #
Converse bound: each component of Nat.unpair is bounded by the pair index.
Nuclear Tensor Product #
The nuclear tensor product of two nuclear spaces, realized as the Köthe
sequence space of rapidly decreasing sequences. The product basis indices
ℕ × ℕ are encoded into ℕ via Nat.pair.
Mathematically, if E₁ ≅ s(ℕ) and E₂ ≅ s(ℕ) as nuclear Fréchet spaces,
then E₁ ⊗̂ E₂ ≅ s(ℕ × ℕ) ≅ s(ℕ) via the Cantor pairing.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- GaussianField.NuclearTensorProduct.instTopologicalSpace = { IsOpen := GaussianField.NuclearTensorProduct.instTopologicalSpace._aux_1, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ }
The nuclear tensor product is a nuclear space.
Map from product basis indices to the Cantor-paired linear index.
Equations
Instances For
Recover product basis indices from a linear index.
Equations
Instances For
Pure tensor embedding #
The pure tensor map: given e₁ : E₁ and e₂ : E₂ with DM structure,
produces the sequence m ↦ coeff(unpair(m).1, e₁) * coeff(unpair(m).2, e₂).
This is the bilinear embedding E₁ × E₂ → E₁ ⊗̂ E₂ realized at the level
of Köthe sequence spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Seminorm bound for the pure tensor: for each target seminorm index k,
there exist constants C, source seminorm index sets s₁, s₂ such that
rapidDecaySeminorm k (pure e₁ e₂) ≤ C * (s₁.sup p) e₁ * (s₂.sup p) e₂.
The pure tensor map as a bilinear map.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For fixed e₁, the map e₂ ↦ pure e₁ e₂ is a continuous linear map.
Continuity follows from the seminorm bound via continuous_of_isBounded.
Equations
- GaussianField.NuclearTensorProduct.pureCLMRight e₁ = { toLinearMap := GaussianField.NuclearTensorProduct.pureLin e₁, cont := ⋯ }
Instances For
For fixed e₂, the map e₁ ↦ pure e₁ e₂ is continuous.
The pure tensor map is jointly continuous on E₁ × E₂.
Universal Property: Lift #
Universal property of the nuclear tensor product.
Every continuous bilinear map B : E₁ × E₂ → G (into a complete normed space)
factors through pure via a CLM lift B : NuclearTensorProduct E₁ E₂ →L[ℝ] G.
The definition is lift B a = ∑' m, aₘ • B(ψ₁ᵢ, ψ₂ⱼ) where (i,j) = unpair(m).
Linearity follows from tsum linearity; continuity from a seminorm bound.
Equations
- GaussianField.NuclearTensorProduct.lift B hC hB = { toLinearMap := GaussianField.NuclearTensorProduct.liftLM✝ B hC hB, cont := ⋯ }
Instances For
The lift factors through pure: lift B (pure e₁ e₂) = B e₁ e₂.
The proof uses the double Schauder expansion: hasSum_basis gives convergent
expansions e₁ = ∑ c₁_n • ψ₁_n and e₂ = ∑ c₂_j • ψ₂_j, then applies B
(continuous from the bound) and rearranges via Cantor pairing.
Bilinear evaluation: tensor product of functionals #
Tensor product of continuous linear functionals.
Given φ₁ ∈ E₁' and φ₂ ∈ E₂', the tensor product functional
φ₁ ⊗ φ₂ : E₁ ⊗̂ E₂ → ℝ is defined via the universal property lift
applied to the bilinear form (e₁, e₂) ↦ φ₁(e₁) · φ₂(e₂).
On pure tensors: evalCLM φ₁ φ₂ (pure e₁ e₂) = φ₁ e₁ * φ₂ e₂.
The bilinear bound ‖φ₁(e₁) · φ₂(e₂)‖ ≤ C · p₁(e₁) · p₂(e₂) follows from
Seminorm.bound_of_continuous applied to each functional.
Equations
- One or more equations did not get rendered due to their size.
Instances For
evalCLM on pure tensors gives the product of evaluations.
Under biorthogonality, basis vectors equal pure tensors of basis elements.
basisVec m = pure (basis a) (basis b) where (a,b) = unpair(m).