The free Gaussian packet #
Category: 1-Mathlib (CSD-free; staged for upstream).
Analysis/Semigroup/SchrodingerSchwartz.lean puts the free Schrödinger group U₀(t) = e^{−itH₀},
H₀ = −½ d²/dx², on Schwartz space. This module (BACKLOG #48, FC-5‴) lets the reader see it act,
on the one initial state whose evolution is explicit — the Gaussian:
- the Gaussian is a Schwartz function:
gaussianS a ha : 𝓢(ℝ, ℂ)isx ↦ e^{−π a x²}forRe a > 0(the pin has no Gaussian bundled as aSchwartzMap). Itsn-th derivative isP_n(x) e^{−π a x²}withP_{n+1} = P_n' − 2πa X P_n(iteratedDeriv_gaussFun,gaussPoly), and|x|^m e^{−c x²} ≤ 1 + m!/cᵐ(pow_mul_exp_neg_le, fromx^m/m! ≤ eˣ) gives the decay; - its Fourier transform is the Gaussian
a^{−1/2} e^{−πξ²/a}(fourier_gaussianS, Mathlib'sfourier_gaussian_piread as a Schwartz identity), and the free phasee^{−2π²itξ²}turns it into the Gaussian of the complex parametera⁻¹ + 2πit(smulLeft_phase_fourier_gaussianS); the inverse transform of an even function is its transform (fourierInv_gaussianS); - ★★
freeSchrodingerS_gaussianS— the packet spreads:U₀(t) g_a = packetAmp a t • g_{a(t)}witha(t) = (a⁻¹ + 2πit)⁻¹ = a / (1 + 2πiat)(packetParam_eq) and amplitude(1 + 2πiat)^{−1/2}(packetAmp_eq, after ★mul_cpow_of_re_pos: the principal square root is multiplicative on the right half-plane); ★freeSchrodinger_gaussianS_toLpis the same inL², throughfreeSchrodinger_toLp; - ★
re_packetParam_ofReal— for a real width parameterσ > 0the density is|U₀(t) g_σ|² = |amp|² e^{−2π σ(t) x²}withσ(t) = σ / (1 + (2πσt)²)decreasing in|t|(norm_freeSchrodingerS_gaussianS): the Gaussian widens as√(1 + (2πσt)²), the textbook spreading of a free wave packet (unitsℏ = m = 1, Mathlib's Fourier convention).
Honest scope #
⚠️ One dimension only (E = ℝ); the d-dimensional Gaussian e^{−πa‖x‖²} follows the same
route through Mathlib's fourier_gaussian_innerProductSpace and is not done. The packet is centred
at the origin with zero mean momentum; the moving packet e^{2πipx} g_a(x − q) (Mathlib's
fourier_gaussian_pi' carries the shift) is not stated. No uncertainty product is computed.
References: M. Reed, B. Simon, Methods of Modern Mathematical Physics II §IX.7; A. Messiah,
Quantum Mechanics I ch. II §3 (the spreading of a free Gaussian packet);
Analysis/Semigroup/SchrodingerSchwartz.lean (FC-5″); specs/feynman-continuum-scoping.md §5;
specs/BACKLOG.md #48; specs/future-work.md FP-1.
The Gaussian and its derivatives #
The Gaussian x ↦ e^{−π a x²} on ℝ, as a plain function.
Equations
- SchrodingerGroup.gaussFun a x = Complex.exp (-↑Real.pi * a * ↑x ^ 2)
Instances For
The polynomial factor of the n-th derivative of the Gaussian:
P_0 = 1, P_{n+1} = P_n' − 2πa X P_n.
Equations
- SchrodingerGroup.gaussPoly a 0 = 1
- SchrodingerGroup.gaussPoly a n.succ = Polynomial.derivative (SchrodingerGroup.gaussPoly a n) - (2 * ↑Real.pi * a) • (Polynomial.X * SchrodingerGroup.gaussPoly a n)
Instances For
The derivative of P(x) e^{−π a x²} is (P' − 2πa X P)(x) e^{−π a x²}.
The n-th derivative of the Gaussian is P_n(x) e^{−π a x²}.
A polynomial is bounded by the sum of its coefficients' norms times the powers.
The Gaussian x ↦ e^{−π a x²}, Re a > 0, as a Schwartz function on ℝ.
Equations
- SchrodingerGroup.gaussianS a ha = { toFun := SchrodingerGroup.gaussFun a, smooth' := ⋯, decay' := ⋯ }
Instances For
The Fourier transform and the free phase #
The free phase e^{−2π²itξ²} times the transform of g_a is the transform of the Gaussian of
parameter a⁻¹ + 2πit, up to the constant a^{−1/2}.
The spreading packet #
★★ The free Gaussian packet spreads: U₀(t) g_a = packetAmp a t • g_{a(t)} with
a(t) = (a⁻¹ + 2πit)⁻¹. The Fourier transform of g_a is a Gaussian, the free phase multiplies
its exponent by 2πit, and the inverse transform is a Gaussian again.
★ The same in L²: the free Schrödinger group of SchrodingerGroup.lean sends the Gaussian
to the spread Gaussian.