Imports
/- Copyright (c) 2026 Gregory J. Loges. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gregory J. Loges -/ module public import Physlib.QuantumMechanics.Operators.Multiplication public import Physlib.QuantumMechanics.HilbertSpaces.SpaceD.PolyBddSchwartzSubmodule public import Physlib.SpaceAndTime.Space.Norm.Regularized

Position operators

i. Overview

In this module we introduce several position operators for quantum mechanics on Space d.

ii. Key results

Definitions:

    positionCLM : (components of) the position vector operator acting on Schwartz maps 𝓢(Space d, ℂ) by multiplication by xᵢ.

    radiusRegPowCLM : operator acting on Schwartz maps by multiplication by (‖x‖² + ε²)^(s/2), a smooth regularization of ‖x‖ˢ.

    positionOperator : a self-adjoint multiplication operator acting on SpaceDHilbertSpace d.

    readiusRegPowOperator : a self-adjoint multiplication operator acting on SpaceDHilbertSpace d.

Notation:

    𝐱 for positionCLM

    𝐫₀ for radiusRegPowCLM

    𝐫 for radiusPowLM

iii. Table of contents

    A. Schwartz operators

      A.1. Position vector

      A.2. Radius powers (regularized)

      A.3. Radius powers

        A.3.1. As limit of regularized operators

    B. Unbounded operators

      B.1. Position vector

      B.2. Radius powers (regularized)

      B.3. Radius powers

        B.3.1. As limit of regularized operators

iv. References

@[expose] public section

A. Schwartz operators

A.1. Position vector

Component i of the position operator is the continuous linear map from 𝓢(Space d, ℂ) to itself which maps ψ to xᵢψ.

def positionCLM : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) := SchwartzMap.smulLeftCLM ℂ (Complex.ofRealCLM ∘L coordCLM i)
@[inherit_doc positionCLM] notation "𝐱" => positionCLM@[inherit_doc positionCLM] notation "𝐱[" d' "]" => positionCLM (d := d')lemma positionCLM_apply_fun (ψ : 𝓢(Space d, ℂ)) : 𝐱 i ψ = (fun x : Space d ↦ x i) • ⇑ψ := d:ℕi:Fin dψ:𝓢(Space d, ℂ)⊢ ⇑((𝐱 i) ψ) = (fun x => x.val i) • ⇑ψ d:ℕi:Fin dψ:𝓢(Space d, ℂ)x✝:Space d⊢ ((𝐱 i) ψ) x✝ = ((fun x => x.val i) • ⇑ψ) x✝ d:ℕi:Fin dψ:𝓢(Space d, ℂ)x✝:Space d⊢ ((smulLeftCLM ℂ ⇑(Complex.ofRealCLM ∘SL coordCLM i)) ψ) x✝ = ((fun x => x.val i) • ⇑ψ) x✝ erw [smulLeftCLM_apply_apply (g := Complex.ofRealCLM ∘ (coordCLM i)) (d:ℕi:Fin dψ:𝓢(Space d, ℂ)x✝:Space d⊢ HasTemperateGrowth (⇑Complex.ofRealCLM ∘ ⇑(coordCLM i)) All goals completed! 🐙)d:ℕi:Fin dψ:𝓢(Space d, ℂ)x✝:Space d⊢ (⇑Complex.ofRealCLM ∘ ⇑(coordCLM i)) x✝ • ψ x✝ = ((fun x => x.val i) • ⇑ψ) x✝ All goals completed! 🐙@[simp] lemma positionCLM_apply (ψ : 𝓢(Space d, ℂ)) (x : Space d) : 𝐱 i ψ x = x i * ψ x := d:ℕi:Fin dψ:𝓢(Space d, ℂ)x:Space d⊢ ((𝐱 i) ψ) x = ↑(x.val i) * ψ x All goals completed! 🐙

A.2. Radius powers (regularized)

The radius operator to power s, regularized by ε ≠ 0, is the continuous linear map from 𝓢(Space d, ℂ) to itself which maps ψ to (‖x‖² + ε²)^(s/2) • ψ.

def radiusRegPowCLM {d : ℕ} (ε : ℝˣ) (s : ℝ) : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) := SchwartzMap.smulLeftCLM ℂ (Complex.ofReal ∘ normRegularizedPow d ε s)
@[inherit_doc radiusRegPowCLM] notation "𝐫₀" => radiusRegPowCLM@[inherit_doc radiusRegPowCLM] notation "𝐫₀[" d' "]" => radiusRegPowCLM (d := d')lemma radiusRegPowCLM_apply_fun {d : ℕ} (ε : ℝˣ) (s : ℝ) (ψ : 𝓢(Space d, ℂ)) : 𝐫₀ ε s ψ = fun x ↦ (‖x‖ ^ 2 + ε ^ 2) ^ (s / 2) • ψ x := d:ℕε:ℝˣs:ℝψ:𝓢(Space d, ℂ)⊢ ⇑((𝐫₀ ε s) ψ) = fun x => (‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2) • ψ x d:ℕε:ℝˣs:ℝψ:𝓢(Space d, ℂ)x:Space d⊢ ((𝐫₀ ε s) ψ) x = (‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2) • ψ x d:ℕε:ℝˣs:ℝψ:𝓢(Space d, ℂ)x:Space d⊢ ((smulLeftCLM ℂ (Complex.ofReal ∘ normRegularizedPow d (↑ε) s)) ψ) x = ↑((‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2)) * ψ x d:ℕε:ℝˣs:ℝψ:𝓢(Space d, ℂ)x:Space d⊢ HasTemperateGrowth (Complex.ofReal ∘ normRegularizedPow d (↑ε) s) exact HasTemperateGrowth.comp (d:ℕε:ℝˣs:ℝψ:𝓢(Space d, ℂ)x:Space d⊢ HasTemperateGrowth Complex.ofReal All goals completed! 🐙) (normRegularizedPow_hasTemperateGrowth d ε s)All goals completed! 🐙@[simp] lemma radiusRegPowCLM_comp_eq {d : ℕ} (ε : ℝˣ) (s t : ℝ) : 𝐫₀[d] ε s ∘L 𝐫₀ ε t = 𝐫₀ ε (s+t) := d:ℕε:ℝˣs:ℝt:ℝ⊢ 𝐫₀ ε s ∘SL 𝐫₀ ε t = 𝐫₀ ε (s + t) d:ℕε:ℝˣs:ℝt:ℝψ:𝓢(Space d, ℂ)x:Space d⊢ ((𝐫₀ ε s ∘SL 𝐫₀ ε t) ψ) x = ((𝐫₀ ε (s + t)) ψ) x All goals completed! 🐙@[simp] lemma radiusRegPowCLM_zero {d : ℕ} (ε : ℝˣ) : 𝐫₀ ε 0 = ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) := d:ℕε:ℝˣ⊢ 𝐫₀ ε 0 = ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) d:ℕε:ℝˣx✝¹:𝓢(Space d, ℂ)x✝:Space d⊢ ((𝐫₀ ε 0) x✝¹) x✝ = ((ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ)) x✝¹) x✝ All goals completed! 🐙lemma positionSqCLM_eq {d : ℕ} (ε : ℝˣ) : ∑ i, 𝐱 i ∘L 𝐱 i = 𝐫₀ ε 2 - ε.1 ^ 2 • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) := d:ℕε:ℝˣ⊢ ∑ i, 𝐱 i ∘SL 𝐱 i = 𝐫₀ ε 2 - ↑ε ^ 2 • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) d:ℕε:ℝˣx✝¹:𝓢(Space d, ℂ)x✝:Space d⊢ ((∑ i, 𝐱 i ∘SL 𝐱 i) x✝¹) x✝ = ((𝐫₀ ε 2 - ↑ε ^ 2 • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ)) x✝¹) x✝ All goals completed! 🐙

A.3. Radius powers

The radius operator to power s is the linear map from 𝓢(Space d, ℂ) to Space d → ℂ that maps ψ to x ↦ ‖x‖ˢψ(x) (which is 'nearly' Schwartz for general s).

d✝:ℕμ:Measure (Space d✝)i:Fin d✝d:ℕs:ℝx✝¹:ℂx✝:𝓢(Space d, ℂ)⊢ (fun x => ‖x‖ ^ s) • ⇑(x✝¹ • x✝) = (fun x => ‖x‖ ^ s) • (RingHom.id ℂ) x✝¹ • ⇑x✝; All goals completed! 🐙
@[inherit_doc radiusPowLM] notation "𝐫" => radiusPowLM@[inherit_doc radiusPowLM] notation "𝐫[" d' "]" => radiusPowLM (d := d')lemma radiusPowLM_apply_fun {d : ℕ} (s : ℝ) (ψ : 𝓢(Space d, ℂ)) : 𝐫 s ψ = fun x ↦ ‖x‖ ^ s • ψ x := rflAll goals completed! 🐙

x ↦ ‖x‖ˢψ(x) is smooth away from x = 0.

d:ℕs:ℝn:ℕ∞ψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0h:∀ (x : Space d), ‖x‖ ^ s = inner ℝ x x ^ (s / 2)⊢ ContDiffAt ℝ (↑n) (fun x => ‖x‖ ^ s) x d:ℕs:ℝn:ℕ∞ψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0h:∀ (x : Space d), ‖x‖ ^ s = inner ℝ x x ^ (s / 2)⊢ ContDiffAt ℝ (↑n) (fun x => inner ℝ x x ^ (s / 2)) x exact ContDiffAt.rpow_const_of_ne (d:ℕs:ℝn:ℕ∞ψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0h:∀ (x : Space d), ‖x‖ ^ s = inner ℝ x x ^ (s / 2)⊢ ContDiffAt ℝ (↑n) (fun x => inner ℝ x x) x All goals completed! 🐙) (inner_self_ne_zero.mpr hx)

x ↦ ‖x‖ˢψ(x) is strongly measurable.

d:ℕs:ℝψ:𝓢(Space d, ℂ)⊢ StronglyMeasurable fun x => ‖x‖ ^ s • ψ x exact StronglyMeasurable.smul (f := fun x : Space d => ‖x‖ ^ s) (d:ℕs:ℝψ:𝓢(Space d, ℂ)⊢ StronglyMeasurable fun x => ‖x‖ ^ s All goals completed! 🐙) ψ.continuous.stronglyMeasurable

x ↦ ‖x‖ˢψ(x) is square-integrable provided s is not too negative.

d:ℕs:ℝψ:𝓢(Space d, ℂ)a:ℕhψ✝:ψ ∈ PolyBddSchwartzMap d ↑ah:0 < ↑d + 2 * (↑a + s)hd:d > 0this:NeZero dlintegral_lt_top_aux:∀ {S : Set (Space d)} {C p : ℝ}, IntegrableOn (fun x => ‖x‖ ^ p) S volume → ∀ {G : Space d → ENNReal}, ∫⁻ (x : Space d) in S, G x ≤ ∫⁻ (x : Space d) in S, ‖C ^ 2‖ₑ * ‖‖x‖ ^ p‖ₑ → ∫⁻ (x : Space d) in S, G x < ⊤C:ℝhC_pos:0 < ChC:∀ (x : Space d), ‖x‖ ^ (↑⌈s⌉.toNat + ↑d) * ‖ψ x‖ ≤ Cx:Space dhx:1 ≤ ‖x‖hx':0 < ‖x‖hψ:‖ψ x‖ ≤ C * ‖x‖ ^ (-(↑⌈s⌉.toNat + ↑d))⊢ s ≤ ↑⌈s⌉.toNat exact (Int.le_ceil s).trans (d:ℕs:ℝψ:𝓢(Space d, ℂ)a:ℕhψ✝:ψ ∈ PolyBddSchwartzMap d ↑ah:0 < ↑d + 2 * (↑a + s)hd:d > 0this:NeZero dlintegral_lt_top_aux:∀ {S : Set (Space d)} {C p : ℝ}, IntegrableOn (fun x => ‖x‖ ^ p) S volume → ∀ {G : Space d → ENNReal}, ∫⁻ (x : Space d) in S, G x ≤ ∫⁻ (x : Space d) in S, ‖C ^ 2‖ₑ * ‖‖x‖ ^ p‖ₑ → ∫⁻ (x : Space d) in S, G x < ⊤C:ℝhC_pos:0 < ChC:∀ (x : Space d), ‖x‖ ^ (↑⌈s⌉.toNat + ↑d) * ‖ψ x‖ ≤ Cx:Space dhx:1 ≤ ‖x‖hx':0 < ‖x‖hψ:‖ψ x‖ ≤ C * ‖x‖ ^ (-(↑⌈s⌉.toNat + ↑d))⊢ ↑⌈s⌉ ≤ ↑⌈s⌉.toNat All goals completed! 🐙)
A.3.1. As limit of regularized operators

Neighborhoods of "0" in the non-zero reals, i.e. those sets containing (-ε,0) ∪ (0,ε) ⊆ ℝˣ for some ε > 0.

abbrev nhdsZeroUnits : Filter ℝˣ := comap (Units.coeHom ℝ) (nhds 0)
instance : NeBot nhdsZeroUnits := d:ℕμ:Measure (Space d)i:Fin d⊢ nhdsZeroUnits.NeBot d:ℕμ:Measure (Space d)i:Fin dt:Set ℝht:t ∈ nhds 0⊢ ∃ a, (Units.coeHom ℝ) a ∈ t d:ℕμ:Measure (Space d)i:Fin dt:Set ℝht:t ∈ nhds 0ε:ℝhε_pos:ε > 0hε:Metric.ball 0 ε ⊆ t⊢ ∃ a, (Units.coeHom ℝ) a ∈ t use Units.mk0 (ε / 2) (d:ℕμ:Measure (Space d)i:Fin dt:Set ℝht:t ∈ nhds 0ε:ℝhε_pos:ε > 0hε:Metric.ball 0 ε ⊆ t⊢ ε / 2 ≠ 0 All goals completed! 🐙) exact hε (d:ℕμ:Measure (Space d)i:Fin dt:Set ℝht:t ∈ nhds 0ε:ℝhε_pos:ε > 0hε:Metric.ball 0 ε ⊆ t⊢ (Units.coeHom ℝ) (Units.mk0 (ε / 2) ⋯) ∈ Metric.ball 0 ε All goals completed! 🐙)

𝐫[ε,s] ψ converges pointwise to 𝐫[s] ψ as ε → 0 except perhaps at x = 0.

d:ℕs:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0hpow:‖x‖ ^ s = (‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2)⊢ Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x)) d:ℕs:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0hpow:‖x‖ ^ s = (‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2)⊢ Tendsto (fun ε => ↑((‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2)) * ψ x) nhdsZeroUnits (nhds (↑((‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2)) * ψ x)) d:ℕs:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0hpow:‖x‖ ^ s = (‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2)⊢ Tendsto (fun ε => (‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2)) nhdsZeroUnits (nhds ((‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2))) refine Tendsto.rpow_const ?_ (Or.inl <| d:ℕs:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ≠ 0hpow:‖x‖ ^ s = (‖x‖ ^ 2 + 0 ^ 2) ^ (s / 2)⊢ ‖x‖ ^ 2 + 0 ^ 2 ≠ 0 All goals completed! 🐙) All goals completed! 🐙

𝐫[ε,s] ψ converges pointwise to 𝐫[s] ψ as ε → 0 provided 𝐫[ε,s] ψ 0 is bounded.

d:ℕs:ℝψ:𝓢(Space d, ℂ)hs:0 ≤ sthis:0 ^ s = (0 ^ 2) ^ (s / 2)⊢ Tendsto (fun i => ↑((↑i ^ 2) ^ (s / 2)) * ψ 0) nhdsZeroUnits (nhds (↑((0 ^ 2) ^ (s / 2)) * ψ 0)) d:ℕs:ℝψ:𝓢(Space d, ℂ)hs:0 ≤ sthis:0 ^ s = (0 ^ 2) ^ (s / 2)⊢ Tendsto (fun i => (↑i ^ 2) ^ (s / 2)) nhdsZeroUnits (nhds ((0 ^ 2) ^ (s / 2))) exact Tendsto.rpow_const (Tendsto.pow tendsto_comap 2) (Or.inr <| d:ℕs:ℝψ:𝓢(Space d, ℂ)hs:0 ≤ sthis:0 ^ s = (0 ^ 2) ^ (s / 2)⊢ 0 ≤ s / 2 All goals completed! 🐙) d:ℕs:ℝψ:𝓢(Space d, ℂ)hψ:ψ 0 = 0⊢ Tendsto (fun i => ((𝐫₀ i s) ψ) 0) nhdsZeroUnits (nhds ((𝐫 s) ψ 0)) All goals completed! 🐙 d:ℕs:ℝψ:𝓢(Space d, ℂ)h:0 ≤ s ∨ ψ 0 = 0x:Space dhx:NeZero x⊢ Tendsto (fun i => ((𝐫₀ i s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x)) All goals completed! 🐙

a.e. version of radiusRegPow_tendsto_radiusPow

d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)⊢ {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x))} ⊆ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ∈ {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x))}⊢ x ∈ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)x:Space dhx:x ∈ {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x))}hx':x ∉ {0}⊢ False All goals completed! 🐙
d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}⊢ t₁ ∪ {0} = t₂ ∪ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}x:Space d⊢ x ∈ t₁ ∪ {0} ↔ x ∈ t₂ ∪ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}⊢ 0 ∈ t₁ ∪ {0} ↔ 0 ∈ t₂ ∪ {0}d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}x:Space dhx:NeZero x⊢ x ∈ t₁ ∪ {0} ↔ x ∈ t₂ ∪ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}⊢ 0 ∈ t₁ ∪ {0} ↔ 0 ∈ t₂ ∪ {0} All goals completed! 🐙 d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}x:Space dhx:NeZero x⊢ x ∈ t₁ ∪ {0} ↔ x ∈ t₂ ∪ {0} d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}x:Space dhx:NeZero x⊢ x ∈ t₁ ↔ x ∈ t₂ d:ℕinst✝:NeZero ds:ℝψ:𝓢(Space d, ℂ)φ:Space d → ℂt₁:Set (Space d) := {x | ¬Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds (φ x))}t₂:Set (Space d) := {x | φ x ≠ (𝐫 s) ψ x}x:Space dhx:NeZero xhLim:Tendsto (fun ε => ((𝐫₀ ε s) ψ) x) nhdsZeroUnits (nhds ((𝐫 s) ψ x))⊢ x ∈ t₁ ↔ x ∈ t₂ All goals completed! 🐙

B. Unbounded operators

B.1. Position vector

The operator on SpaceDHilbertSpace d acting by multiplication by fun x ↦ xᵢ.

def positionOperator : SpaceDHilbertSpace d μ →ₗ.[ℂ] SpaceDHilbertSpace d μ := 𝓜 μ (Complex.ofRealCLM ∘L Space.coordCLM i)
@[inherit_doc positionOperator] notation "𝓧" => positionOperatorlemma positionOperator_hasDenseDomain : (𝓧 μ i).HasDenseDomain := mulOperator_hasDenseDomain (d:ℕμ:Measure (Space d)i:Fin d⊢ AEStronglyMeasurable (⇑(Complex.ofRealCLM ∘SL coordCLM i)) μ All goals completed! 🐙)lemma positionOperator_isSelfAdjoint [IsFiniteMeasureOnCompacts μ] : IsSelfAdjoint (𝓧 μ i) := mulOperator_isSelfAdjoint_ofReal (d:ℕμ:Measure (Space d)i:Fin dinst✝:IsFiniteMeasureOnCompacts μ⊢ AEStronglyMeasurable (⇑(Complex.ofRealCLM ∘SL coordCLM i)) μ All goals completed! 🐙) (d:ℕμ:Measure (Space d)i:Fin dinst✝:IsFiniteMeasureOnCompacts μ⊢ ⇑(starRingEnd ℂ) ∘ ⇑(Complex.ofRealCLM ∘SL coordCLM i) = ⇑(Complex.ofRealCLM ∘SL coordCLM i) d:ℕμ:Measure (Space d)i:Fin dinst✝:IsFiniteMeasureOnCompacts μx✝:Space d⊢ (⇑(starRingEnd ℂ) ∘ ⇑(Complex.ofRealCLM ∘SL coordCLM i)) x✝ = (Complex.ofRealCLM ∘SL coordCLM i) x✝; All goals completed! 🐙)lemma positionOperator_isUnbounded [IsFiniteMeasureOnCompacts μ] : (𝓧 μ i).IsUnbounded := LinearPMap.IsSelfAdjoint.isUnbounded (positionOperator_isSelfAdjoint μ i)

B.2. Radius powers (regularized)

The operator on SpaceDHilbertSpace d acting by multiplication by fun x ↦ (‖x‖² + ε²)^(s/2).

def radiusRegPowOperator (ε : ℝˣ) (s : ℝ) : SpaceDHilbertSpace d μ →ₗ.[ℂ] SpaceDHilbertSpace d μ := 𝓜 μ (Complex.ofReal ∘ normRegularizedPow d ε s)
@[inherit_doc radiusRegPowOperator] notation "𝓡₀" => radiusRegPowOperatorlemma radiusRegPowOperator_hasDenseDomain (ε : ℝˣ) (s : ℝ) : (𝓡₀ μ ε s).HasDenseDomain := mulOperator_hasDenseDomain (d:ℕμ:Measure (Space d)ε:ℝˣs:ℝ⊢ AEStronglyMeasurable (Complex.ofReal ∘ normRegularizedPow d (↑ε) s) μ All goals completed! 🐙)lemma radiusRegPowOperator_isSelfAdjoint [IsFiniteMeasureOnCompacts μ] (ε : ℝˣ) (s : ℝ) : IsSelfAdjoint (𝓡₀ μ ε s) := mulOperator_isSelfAdjoint_ofReal (d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts με:ℝˣs:ℝ⊢ AEStronglyMeasurable (Complex.ofReal ∘ normRegularizedPow d (↑ε) s) μ All goals completed! 🐙) (d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts με:ℝˣs:ℝ⊢ ⇑(starRingEnd ℂ) ∘ Complex.ofReal ∘ normRegularizedPow d (↑ε) s = Complex.ofReal ∘ normRegularizedPow d (↑ε) s d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts με:ℝˣs:ℝx✝:Space d⊢ (⇑(starRingEnd ℂ) ∘ Complex.ofReal ∘ normRegularizedPow d (↑ε) s) x✝ = (Complex.ofReal ∘ normRegularizedPow d (↑ε) s) x✝; All goals completed! 🐙)lemma radiusRegPowOperator_isUnbounded [IsFiniteMeasureOnCompacts μ] (ε : ℝˣ) (s : ℝ) : (𝓡₀ μ ε s).IsUnbounded := LinearPMap.IsSelfAdjoint.isUnbounded (radiusRegPowOperator_isSelfAdjoint μ ε s)

B.3. Radius powers

The operator on SpaceDHilbertSpace d acting by multiplication by fun x ↦ ‖x‖ˢ.

def radiusPowOperator (s : ℝ) : SpaceDHilbertSpace d μ →ₗ.[ℂ] SpaceDHilbertSpace d μ := 𝓜 μ (Complex.ofReal ∘ fun x ↦ ‖x‖ ^ s)
@[inherit_doc radiusPowOperator] notation "𝓡" => radiusPowOperatorlemma radiusPowOperator_hasDenseDomain (s : ℝ) : (𝓡 μ s).HasDenseDomain := mulOperator_hasDenseDomain (Measurable.aestronglyMeasurable (d:ℕμ:Measure (Space d)s:ℝ⊢ Measurable (Complex.ofReal ∘ fun x => ‖x‖ ^ s) All goals completed! 🐙))lemma radiusPowOperator_isSelfAdjoint [IsFiniteMeasureOnCompacts μ] (s : ℝ) : IsSelfAdjoint (𝓡 μ s) := mulOperator_isSelfAdjoint_ofReal (Measurable.aestronglyMeasurable (d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μs:ℝ⊢ Measurable (Complex.ofReal ∘ fun x => ‖x‖ ^ s) All goals completed! 🐙)) (d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μs:ℝ⊢ (⇑(starRingEnd ℂ) ∘ Complex.ofReal ∘ fun x => ‖x‖ ^ s) = Complex.ofReal ∘ fun x => ‖x‖ ^ s d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μs:ℝx✝:Space d⊢ (⇑(starRingEnd ℂ) ∘ Complex.ofReal ∘ fun x => ‖x‖ ^ s) x✝ = (Complex.ofReal ∘ fun x => ‖x‖ ^ s) x✝; All goals completed! 🐙)lemma radiusPowOperator_isUnbounded [IsFiniteMeasureOnCompacts μ] (s : ℝ) : (𝓡 μ s).IsUnbounded := LinearPMap.IsSelfAdjoint.isUnbounded (radiusPowOperator_isSelfAdjoint μ s)private lemma add_floor_toNat_pos_aux (d : ℕ) (s : ℝ) : 0 < d + 2 * (⌊1 - d / 2 - s⌋.toNat + s) := d:ℕs:ℝ⊢ 0 < ↑d + 2 * (↑⌊1 - ↑d / 2 - s⌋.toNat + s) d:ℕs:ℝn:ℤ := ⌊1 - ↑d / 2 - s⌋⊢ 0 < ↑d + 2 * (↑⌊1 - ↑d / 2 - s⌋.toNat + s) d:ℕs:ℝn:ℤ := ⌊1 - ↑d / 2 - s⌋hn₁:1 - ↑d / 2 - s < ↑n + 1⊢ 0 < ↑d + 2 * (↑⌊1 - ↑d / 2 - s⌋.toNat + s) d:ℕs:ℝn:ℤ := ⌊1 - ↑d / 2 - s⌋hn₁:1 - ↑d / 2 - s < ↑n + 1hn₂:↑n ≤ ↑n.toNat⊢ 0 < ↑d + 2 * (↑⌊1 - ↑d / 2 - s⌋.toNat + s) All goals completed! 🐙lemma radiusPowLM_apply_polyBddSchwartz_memHS {d : ℕ} {s : ℝ} (ψ : PolyBddSchwartzSubmodule d ⌊1 - d / 2 - s⌋.toNat) : MemHS (𝐫[d] s ((polyBddSchwartzEquiv volume).symm ψ)) := let f := (polyBddSchwartzEquiv volume).symm ψ radiusPowLM_apply_memHS s f.1 ⌊1 - d / 2 - s⌋.toNat f.2 (add_floor_toNat_pos_aux d s)lemma radiusPowOperator_domain_ge {d : ℕ} (s : ℝ) : PolyBddSchwartzSubmodule d ⌊1 - d / 2 - s⌋.toNat ≤ (radiusPowOperator volume s).domain := d:ℕs:ℝ⊢ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volume ≤ (𝓡 volume s).domain d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volume⊢ ψ ∈ (𝓡 volume s).domain d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ ψ ∈ (𝓡 volume s).domain d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ MemHS ((ofReal ∘ fun x => ‖x‖ ^ s) • ↑↑ψ) d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ (𝐫 s) ↑f =ᵐ[volume] (ofReal ∘ fun x => ‖x‖ ^ s) • ↑↑ψd:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ MemHS ((𝐫 s) ↑f) d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ (𝐫 s) ↑f =ᵐ[volume] (ofReal ∘ fun x => ‖x‖ ^ s) • ↑↑ψ d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ ∀ (a : Space d), ↑↑↑((polyBddSchwartzEquiv volume) f) a = ↑f a → (𝐫 s) (↑f) a = ((ofReal ∘ fun x => ‖x‖ ^ s) • ↑↑ψ) a All goals completed! 🐙 d:ℕs:ℝψ:↥(SpaceDHilbertSpace d)hψ:ψ ∈ PolyBddSchwartzSubmodule d (↑⌊1 - ↑d / 2 - s⌋.toNat) volumef:↥(PolyBddSchwartzMap d ↑⌊1 - ↑d / 2 - s⌋.toNat) := (polyBddSchwartzEquiv volume).symm ⟨ψ, hψ⟩⊢ MemHS ((𝐫 s) ↑f) All goals completed! 🐙