The Bessel identity behind Rudin 8.11-8.12: the exact mean-square error of a linear combination
ProvedRudin.ch08_bessel_identityThe Bessel identity (Rudin, Theorems 8.11 and 8.12). Let be an orthonormal system on , : for and . Let be square-integrable on and let
be its Fourier coefficients relative to the system. Then for every and every choice of complex numbers ,
This single identity is the computation behind both of Rudin's theorems. Taking kills the last sum and shows that the partial sum of the Fourier series is the orthogonal projection of onto the span of : it is the best mean-square approximation, since the last sum is nonnegative for every other choice of (Theorem 8.11). Since the left-hand side is nonnegative, taking also gives , which is Bessel's inequality (Theorem 8.12). The identity moreover quantifies the defect: the mean-square error of an arbitrary approximation exceeds the optimal one by exactly .
Formalization notes. Integrability hypotheses on are genuinely needed, not decoration: the interval integral of a non-integrable function is by convention, and without them the statement is false (on with and one has while evaluates to ). The hypothesis hf supplies the measurability of and hf2 its square-integrability. Similarly some measurability of the system is required, supplied by hφint; no separate square-integrability hypothesis on the is needed, because already forces to be integrable.
import Mathlib import Definitions.Def_Rudin_ch08_fourier open Filter Topology
namespace Rudin
/-- Rudin, Theorems 8.11 and 8.12, in the sharp form of the identity that proves them: for an
orthonormal system `φ` on `[a, b]`, a square-integrable `f` with Fourier coefficients
`cₘ = ∫ f conj(φ m)`, and arbitrary coefficients `γ`,
`∫ ‖f - ∑_{m<n} γₘ φₘ‖² = ∫ ‖f‖² - ∑_{m<n} |cₘ|² + ∑_{m<n} |γₘ - cₘ|²`. -/
theorem ch08_bessel_identity (a b : ℝ) (hab : a ≤ b) (φ : ℕ → ℝ → ℂ)
(hφ : IsOrthonormalSystem φ a b)
(hφint : ∀ m, IntervalIntegrable (φ m) MeasureTheory.volume a b)
(f : ℝ → ℂ) (hf : IntervalIntegrable f MeasureTheory.volume a b)
(hf2 : IntervalIntegrable (fun x => ‖f x‖ ^ 2) MeasureTheory.volume a b)
(n : ℕ) (γ : ℕ → ℂ) :
(∫ x in a..b, ‖f x - ∑ m ∈ Finset.range n, γ m * φ m x‖ ^ 2) =
(∫ x in a..b, ‖f x‖ ^ 2) - (∑ m ∈ Finset.range n, ‖genFourierCoeff f φ a b m‖ ^ 2)
+ ∑ m ∈ Finset.range n, ‖γ m - genFourierCoeff f φ a b m‖ ^ 2 := by sorry
end Rudin