Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0

Complex.gamma_half_vertical_norm_sq

PrimeNumberTheoremAnd.Mathlib.Analysis.SpecialFunctions.Gamma.CriticalLineDecay · PrimeNumberTheoremAnd/Mathlib/Analysis/SpecialFunctions/Gamma/CriticalLineDecay.lean:38 to 59

Source documentation

Exact critical-line identity: ‖Γ(1/2+iτ)‖² = π / cosh(πτ).

Exact Lean statement

theorem gamma_half_vertical_norm_sq (τ : ℝ) :
    ‖Complex.Gamma (((1 / 2 : ℝ) : ℂ) + (τ : ℂ) * I)‖ ^ 2 =
      Real.pi / Real.cosh (Real.pi * τ)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem gamma_half_vertical_norm_sq (τ : ) :Complex.Gamma (((1 / 2 : ) : ℂ) + (τ : ℂ) * I)‖ ^ 2 =      Real.pi / Real.cosh (Real.pi * τ) := by  let z : ℂ := ((1 / 2 : ) : ℂ) + (τ : ℂ) * I  have hconj : (starRingEnd ℂ) z = 1 - z := by    apply Complex.ext <;> norm_num [z, Complex.sub_re, Complex.sub_im, Complex.add_re,      Complex.add_im, Complex.mul_re, Complex.mul_im]  have hleft :      Complex.Gamma z * Complex.Gamma (1 - z) = ((‖Complex.Gamma z‖ ^ 2 : ) : ℂ) := by    rw [ hconj, Complex.Gamma_conj, Complex.mul_conj, Complex.normSq_eq_norm_sq]  have hsin : Complex.sin (Real.pi * z) = (Real.cosh (Real.pi * τ) : ℂ) := by    simpa [z] using sin_pi_half_add_mul_I τ  have hcomplex :      ((‖Complex.Gamma z‖ ^ 2 : ) : ℂ) =        ((Real.pi / Real.cosh (Real.pi * τ) : ) : ℂ) := by    calc      ((‖Complex.Gamma z‖ ^ 2 : ) : ℂ)          = Complex.Gamma z * Complex.Gamma (1 - z) := hleft.symm      _ = (Real.pi : ℂ) / Complex.sin (Real.pi * z) := Complex.Gamma_mul_Gamma_one_sub z      _ = ((Real.pi / Real.cosh (Real.pi * τ) : ) : ℂ) := by        simp [hsin, Complex.ofReal_div]  simpa [z] using Complex.ofReal_injective hcomplex