InformationTheory

InformationTheory.Shannon.GaussianPDFVarianceDerivative

source

Gaussian PDF variance (time) derivative — de Bruijn FTC core #

The time-derivative half of the de Bruijn identity machinery: the heat equation ∂_t p = (1/2) Δ_x p for the Gaussian heat kernel.

The variance-derivative of gaussianPDFReal is not in Mathlib. This file builds it from scratch via the Real.exp / Real.sqrt chain rule and assembles the full heat equation for the Gaussian kernel.

Main definitions #

  • gaussianPDFRealVar — real-variance Gaussian density (√(2πv))⁻¹ · exp(−(x−m)²/(2v)).

Main statements #

Real-variance Gaussian density #

noncomputable def

InformationTheory.Shannon.gaussianPDFRealVar

source
(m v x : ) :

The real-variance Gaussian density (√(2πv))⁻¹ · exp(−(x−m)²/(2v)).

This is gaussianPDFReal m v x with the variance v taken as a real number (rather than ℝ≥0), so that we can differentiate in v. For v > 0 it agrees with gaussianPDFReal m ⟨v, _⟩ (see gaussianPDFRealVar_eq_gaussianPDFReal).

Equations
Instances For
    Used by
      theorem

      InformationTheory.Shannon.gaussianPDFRealVar_eq_gaussianPDFReal

      source
      (m : ) {v : } (hv : 0 < v) (x : ) :

      For v > 0, gaussianPDFRealVar agrees with gaussianPDFReal m ⟨v, _⟩.

      Used by

        Variance-derivative lemma (the Mathlib gap closure) #

        theorem

        InformationTheory.Shannon.hasDerivAt_gaussianNorm_variance

        source
        {v : } (hv : 0 < v) :
        HasDerivAt (fun (v : ) => ((2 * Real.pi * v))⁻¹) (-(1 / (2 * v)) * ((2 * Real.pi * v))⁻¹) v

        The variance-derivative of the (√(2πv))⁻¹ normalising factor.

        ∂_v (√(2πv))⁻¹ = -(1/(2v)) · (√(2πv))⁻¹. The cancels: the log-derivative of (√(2πv))⁻¹ is rational.

        Used by
          theorem

          InformationTheory.Shannon.hasDerivAt_gaussianExp_variance

          source
          (m x : ) {v : } (hv : 0 < v) :
          HasDerivAt (fun (v : ) => Real.exp (-(x - m) ^ 2 / (2 * v))) ((x - m) ^ 2 / (2 * v ^ 2) * Real.exp (-(x - m) ^ 2 / (2 * v))) v

          The variance-derivative of the exponential factor.

          ∂_v exp(−(x−m)²/(2v)) = ((x−m)²/(2v²)) · exp(−(x−m)²/(2v)).

          Used by
            theorem

            InformationTheory.Shannon.hasDerivAt_gaussianPDFRealVar_variance

            source
            (m x : ) {v : } (hv : 0 < v) :
            HasDerivAt (fun (v : ) => gaussianPDFRealVar m v x) (((x - m) ^ 2 / (2 * v ^ 2) - 1 / (2 * v)) * gaussianPDFRealVar m v x) v

            The variance-derivative lemma (Mathlib-gap closure).

            ∂_v gaussianPDFRealVar m v x = ((x−m)²/(2v²) − 1/(2v)) · gaussianPDFRealVar m v x,

            for v > 0. Proven from scratch via the Real.exp / Real.sqrt chain rule.

            Used by

              Heat-kernel time derivative (m = 0) #

              theorem

              InformationTheory.Shannon.hasDerivAt_heatKernel_time

              source
              {t : } (ht : 0 < t) (x : ) :

              The time-derivative of the Gaussian heat kernel.

              ∂_t g_t x = (1/2)(x²/t² − 1/t)·g_t x = (1/2) Δ_x g_t x, i.e. g_t solves the heat equation ∂_t p = (1/2) Δ_x p. This is the m = 0 specialization of hasDerivAt_gaussianPDFRealVar_variance, re-expressed against heatKernel and spatialLaplacianHeatKernel.

              Used by

                Proof of IsHeatTimeDerivHyp #

                theorem

                InformationTheory.Shannon.isHeatTimeDerivHyp_gaussian

                source

                The Gaussian heat kernel satisfies the time-derivative sub-predicate.

                IsHeatTimeDerivHyp for the Gaussian heat kernel with Δp t x := spatialLaplacianHeatKernel t x.

                Used by