Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.QuantumMechanics.HilbertSpaces.OneDimension.Basic public import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral public import Physlib.Meta.TODO.Basic

Gaussians and the hilbert space

TODO "Generalize Gaussian states to d dimensions and SpaceDHilbertSpace using InnerProductSpace.gaussian from Physlib/Mathematics/InnerProductSpace/Gaussian and SpaceDHilbertSpace.schwartzIncl. Some of the results in this file have become automatic given InnerProductSpace.gaussian is a Schwartz map, e.g. gaussian_integrable and gaussian_memHS (via schwartzIncl), and some hold more generally for any Schwartz map or member of SchwartzSubmodule, e.g. abs_mul_gaussian_integrable."@[expose] public section

Gaussians

lemma gaussian_integrable {b : ℝ} (c : ℝ) (hb : 0 < b) : MeasureTheory.Integrable (fun x => (Real.exp (- b * (x - c)^ 2) : ℂ)) := MeasureTheory.Integrable.ofReal (Integrable.comp_sub_right (f := (fun x => Real.exp (- b * x ^ 2))) (integrable_exp_neg_mul_sq hb) ..)lemma gaussian_aestronglyMeasurable {b : ℝ} (c : ℝ) (hb : 0 < b) : AEStronglyMeasurable (fun x => (Real.exp (- b * (x - c) ^2) : ℂ)) volume := MeasureTheory.Integrable.aestronglyMeasurable (gaussian_integrable c hb)b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (-(b * ((↑x - ↑c) ^ 2).re)) ^ 2) = fun y => (fun x => Real.exp (-(2 * b) * x ^ 2)) (y - c)⊢ Integrable (fun y => (fun x => Real.exp (-(2 * b) * x ^ 2)) (y - c)) volume b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (-(b * ((↑x - ↑c) ^ 2).re)) ^ 2) = fun y => (fun x => Real.exp (-(2 * b) * x ^ 2)) (y - c)⊢ Integrable (fun x => Real.exp (-(2 * b) * x ^ 2)) volume b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (-(b * ((↑x - ↑c) ^ 2).re)) ^ 2) = fun y => (fun x => Real.exp (-(2 * b) * x ^ 2)) (y - c)⊢ 0 < 2 * b All goals completed! 🐙b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (c * x) * Real.exp (-b * x ^ 2)) = fun x => Real.exp (c ^ 2 / (4 * b)) * Real.exp (-b * (x - c / (2 * b)) ^ 2)⊢ Integrable (fun x => Real.exp (c ^ 2 / (4 * b)) * Real.exp (-b * (x - c / (2 * b)) ^ 2)) volume b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (c * x) * Real.exp (-b * x ^ 2)) = fun x => Real.exp (c ^ 2 / (4 * b)) * Real.exp (-b * (x - c / (2 * b)) ^ 2)⊢ Integrable (fun x => Real.exp (-b * (x - c / (2 * b)) ^ 2)) volume b:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (c * x) * Real.exp (-b * x ^ 2)) = fun x => Real.exp (c ^ 2 / (4 * b)) * Real.exp (-b * (x - c / (2 * b)) ^ 2)⊢ Integrable (fun x => Real.exp (-b * x ^ 2)) volume All goals completed! 🐙All goals completed! 🐙f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bg:↥HilbertSpace := mk ⋯x:ℝ⊢ ↑(Real.exp (-b * (x - c) ^ 2)) = Complex.exp (-(↑b * (↑x - ↑c) ^ 2)) All goals completed! 🐙f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ ‖Real.exp (-(b * (x - c) ^ 2))‖ ≤ Real.exp 0 f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ 0 ≤ b * (x - c) ^ 2 f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ 0 ≤ bf:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ 0 ≤ (x - c) ^ 2 f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ 0 ≤ b All goals completed! 🐙 f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bx:ℝ⊢ 0 ≤ (x - c) ^ 2 All goals completed! 🐙f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bh1:(fun x => ‖f x‖ * Real.exp (-b * (x - c) ^ 2)) = fun x => ‖f x * ↑(Real.exp (-b * (x - c) ^ 2))‖⊢ Integrable (fun x => ‖f x * ↑(Real.exp (-b * (x - c) ^ 2))‖) volume All goals completed! 🐙f:ℝ → ℂhf:MemHS fb:ℝc:ℝhb:0 < bh1:(fun x => Real.exp (c * x) * ‖f x‖ * Real.exp (-b * x ^ 2)) = fun x => Real.exp (c ^ 2 / (4 * b)) * (‖f x‖ * Real.exp (-b * (x - c / (2 * b)) ^ 2))⊢ Integrable (fun x => Real.exp (c ^ 2 / (4 * b)) * (‖f x‖ * Real.exp (-b * (x - c / (2 * b)) ^ 2))) volume All goals completed! 🐙All goals completed! 🐙