Resolvent converse is a positive self-adjoint extension
DefinitionChapterHashimotoConverseProofsspectral-theorytimepiece
A bounded injective positive self-adjoint resolvent defines an unbounded operator on the range of . That operator is symmetric, positive, and satisfies the self-adjointness criterion, so it is a positive self-adjoint extension of any restriction of itself.
Formalization Note. Lean names live in BookProof.HashimotoShiftInvert. invShiftOperator stays in the existing husk.
Definition code
import Mathlib
import Definitions.Def_ChapterHashimotoShiftInvert
import Definitions.Def_ChapterFriedrichsExtension
import Definitions.Def_ChapterYangMillsFriedrichs
import Definitions.Def_ChapterFarisLavine
import Theorems.Thm_BookProof_HashimotoShiftInvert_isShiftInvert_invShiftOperator
namespace BookProof.HashimotoShiftInvert
open BookProof.YangMillsFriedrichs BookProof.FarisLavine
noncomputable section
variable {F : Type*} [NormedAddCommGroup F] [InnerProductSpace ℂ F] [CompleteSpace F]
omit [CompleteSpace F] in
theorem preim_eq (R : F →L[ℂ] F) (hinj : Function.Injective R)
(y : LinearMap.range (R : F →ₗ[ℂ] F)) {u : F} (hu : R u = (y : F)) : preim R y = u :=
hinj (by rw [preim_spec, hu])
omit [CompleteSpace F] in
@[simp] theorem invShiftOperator_apply (R : F →L[ℂ] F) (hinj : Function.Injective R) (γ : ℝ)
(y : LinearMap.range (R : F →ₗ[ℂ] F)) :
invShiftOperator R hinj γ y = preim R y - (γ : ℂ) • (y : F) := rfl
/-- The operator defined by a self-adjoint `R` is symmetric. -/
theorem invShiftOperator_symmetricOn (R : F →L[ℂ] F) (hinj : Function.Injective R) (γ : ℝ)
(hR : IsSelfAdjoint R) :
SymmetricOn (LinearMap.range (R : F →ₗ[ℂ] F)) (invShiftOperator R hinj γ) := by
have hRsym := ContinuousLinearMap.isSelfAdjoint_iff_isSymmetric.mp hR
intro y z
have hy : R (preim R y) = (y : F) := preim_spec R y
have hz : R (preim R z) = (z : F) := preim_spec R z
have hcross : (inner ℂ (preim R y) (z : F) : ℂ) = inner ℂ (y : F) (preim R z) := by
rw [← hy, ← hz]
exact (hRsym (preim R y) (preim R z)).symm
simp only [invShiftOperator_apply, inner_sub_left, inner_sub_right, inner_smul_left,
inner_smul_right, Complex.conj_ofReal, hcross]
omit [CompleteSpace F] in
/-- The operator defined by `R` is positive exactly when `R ≤ 1/γ` in the sense
of quadratic forms. -/
theorem invShiftOperator_quadForm_nonneg (R : F →L[ℂ] F) (hinj : Function.Injective R) (γ : ℝ)
(hposR : ∀ u : F, γ * ‖R u‖ ^ 2 ≤ (inner ℂ (R u) u : ℂ).re)
(y : LinearMap.range (R : F →ₗ[ℂ] F)) : 0 ≤ quadForm (invShiftOperator R hinj γ) y := by
have hy : R (preim R y) = (y : F) := preim_spec R y
have hq : quadForm (invShiftOperator R hinj γ) y
= (inner ℂ (y : F) (preim R y) : ℂ).re - γ * ‖(y : F)‖ ^ 2 := by
rw [quadForm, invShiftOperator_apply, inner_sub_right, inner_smul_right, Complex.sub_re,
inner_self_eq_norm_sq_to_K]
congr 1
simp [← Complex.ofReal_pow]
have hp := hposR (preim R y)
rw [hy] at hp
rw [hq]
linarith
/-- The operator defined by an injective self-adjoint `R` satisfies the
self-adjointness criterion: every vector that behaves like a domain vector is
one. -/
theorem invShiftOperator_selfAdjointCriterion (R : F →L[ℂ] F) (hinj : Function.Injective R)
(γ : ℝ) (hR : IsSelfAdjoint R) (w u : F)
(hw : ∀ v : LinearMap.range (R : F →ₗ[ℂ] F),
(inner ℂ (invShiftOperator R hinj γ v) w : ℂ) = inner ℂ (v : F) u) :
∃ h : w ∈ LinearMap.range (R : F →ₗ[ℂ] F), invShiftOperator R hinj γ ⟨w, h⟩ = u := by
have hRsym := ContinuousLinearMap.isSelfAdjoint_iff_isSymmetric.mp hR
have hkey : ∀ z : F, (inner ℂ z (w - (γ : ℂ) • R w - R u) : ℂ) = 0 := by
intro z
have hv := hw ⟨R z, ⟨z, rfl⟩⟩
have hpre : preim R ⟨R z, ⟨z, rfl⟩⟩ = z := preim_eq R hinj _ rfl
rw [invShiftOperator_apply, hpre] at hv
have h1 : (inner ℂ (R z) w : ℂ) = inner ℂ z (R w) := hRsym z w
have h2 : (inner ℂ (R z) u : ℂ) = inner ℂ z (R u) := hRsym z u
rw [inner_sub_left, inner_smul_left, Complex.conj_ofReal, h1, h2] at hv
rw [inner_sub_right, inner_sub_right, inner_smul_right]
rw [hv]
ring
have hzero : w - (γ : ℂ) • R w - R u = 0 :=
inner_self_eq_zero.mp (hkey (w - (γ : ℂ) • R w - R u))
have hwsum : w = (γ : ℂ) • R w + R u := by
linear_combination (norm := module) hzero
have hwval : w = R (u + (γ : ℂ) • w) := by
rw [map_add, map_smul]
linear_combination (norm := module) hwsum
refine ⟨⟨u + (γ : ℂ) • w, hwval.symm⟩, ?_⟩
have hpre : preim R ⟨w, ⟨u + (γ : ℂ) • w, hwval.symm⟩⟩ = u + (γ : ℂ) • w :=
preim_eq R hinj _ hwval.symm
rw [invShiftOperator_apply, hpre]
module
/-- **The operator defined by a bounded, injective, positive self-adjoint `R` is
a positive self-adjoint extension** of any restriction of it. -/
theorem invShiftOperator_isPositiveSelfAdjointExtension (R : F →L[ℂ] F)
(hinj : Function.Injective R) (γ : ℝ) (hR : IsSelfAdjoint R)
(hposR : ∀ u : F, γ * ‖R u‖ ^ 2 ≤ (inner ℂ (R u) u : ℂ).re)
{D : Submodule ℂ F} (hD : D ≤ LinearMap.range (R : F →ₗ[ℂ] F)) (H : D →ₗ[ℂ] F)
(hH : ∀ x : D, H x = invShiftOperator R hinj γ ⟨(x : F), hD x.2⟩) :
IsPositiveSelfAdjointExtension H (invShiftOperator R hinj γ) :=
⟨fun x => ⟨hD x.2, (hH x).symm⟩, invShiftOperator_symmetricOn R hinj γ hR,
invShiftOperator_quadForm_nonneg R hinj γ hposR,
invShiftOperator_selfAdjointCriterion R hinj γ hR⟩
end
end BookProof.HashimotoShiftInvert
Source
timepiece BookProof, ChapterHashimotoShiftInvert.lean, theorem invShiftOperator_isPositiveSelfAdjointExtension