Documentation

SpherePacking.ForMathlib.CauchyGoursat.OpenRectangular

Deforming Paths of Integration for Open Contours #

In this file, we prove that if a function tends to zero as the imaginary part of its input tends to infinity and satisfies Cauchy-Goursat-type conditions, then we can deform paths of integration along rectangular contours that extend infinitely in the vertical direction.

NOTE: Use atImInfty for vanishing as imaginary part tends to i infinity!

theorem Complex.re_of_real_add_real_mul_I (x y : ) :
(x + y * I).re = x
theorem Complex.im_of_real_add_real_mul_I (x y : ) :
(x + y * I).im = y
theorem Complex.tendsto_integral_atTop_nhds_zero_of_tendsto_im_atTop_nhds_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
Filter.Tendsto (fun (m : ) => (x : ) in x₁..x₂, f (x + m * I)) Filter.atTop (nhds 0)

If $f(z) \to 0$ as $\Im(z) \to \infty$, then $\lim_{m \to \infty} \int_{x_1}^{x_2} f(x + mI) dx = 0$.

theorem Complex.integral_boundary_rect_eq_zero_eventually_atTop_of_differentiable_on_off_countable {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) :
(fun (m : ) => ((( (x : ) in x₁..x₂, f (x + y * I)) - (x : ) in x₁..x₂, f (x + m * I)) + I (t : ) in y..m, f (x₂ + t * I)) - I (t : ) in y..m, f (x₁ + t * I)) =ᶠ[Filter.atTop] fun (x : ) => 0

A direct consequence of the Cauchy-Goursat Theorem for rectangles: given the conditions of the Cauchy-Goursat Theorem between two vertical lines in the Complex plane, fixing some y, the integral around rectangles bounded by these vertical lines, the horizontal line with imaginary part y, and a horizontal line with imaginary part m is eventually equal to 0.

By Cauchy-Goursat, it is immediate that this is true when m ≥ y. Indeed, the contents of this lemma are not particularly nontrivial. The point is to state this fact using eventually result so it will be compatible with tendsto_congr', which is useful for applications.

theorem Complex.tendsto_integral_boundary_open_rect_one_side_atTop_nhds_sum_other_two_sides {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) {C₂ : E} (hC₂ : Filter.Tendsto (fun (m : ) => I (t : ) in y..m, f (x₂ + t * I)) Filter.atTop (nhds C₂)) (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
Filter.Tendsto (fun (m : ) => I (t : ) in y..m, f (x₁ + t * I)) Filter.atTop (nhds (( (t : ) in x₁..x₂, f (t + y * I)) + C₂))

Deformation of open rectangular contours: Given two infinite vertical contours such that a function satisfies Cauchy-Goursat conditions between them, interval integrals of increasing interval length along the first contour tend to the sum of a translation integral and the limit of interval integrals along the second integral.

We call this a deformation of open rectangular contours because it allows us to change contours when working with contours that look like "infinite boxes without lids"---that is, rectangular contours that are "open" at the top (we do not mean open in a topological sense).

theorem Complex.integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) {C₁ : E} (hC₁ : Filter.Tendsto (fun (m : ) => I (t : ) in y..m, f (x₁ + t * I)) Filter.atTop (nhds C₁)) {C₂ : E} (hC₂ : Filter.Tendsto (fun (m : ) => I (t : ) in y..m, f (x₂ + t * I)) Filter.atTop (nhds C₂)) (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
( (t : ) in x₁..x₂, f (t + y * I)) + C₂ - C₁ = 0

Deformation of open rectangular contours: Given two infinite vertical contours such that a function satisfies Cauchy-Goursat conditions between them, the limit of interval integrals along the first contour equals the sum of a translation integral and the limit of interval integrals along the second integral.

theorem Complex.integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) {C₁ : E} (hC₁ : Filter.Tendsto (fun (m : ) => (t : ) in y..m, f (x₁ + t * I)) Filter.atTop (nhds C₁)) {C₂ : E} (hC₂ : Filter.Tendsto (fun (m : ) => (t : ) in y..m, f (x₂ + t * I)) Filter.atTop (nhds C₂)) (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
( (t : ) in x₁..x₂, f (t + y * I)) + I C₂ - I C₁ = 0

Deformation of open rectangular contours: Given two infinite vertical contours such that a function satisfies Cauchy-Goursat conditions between them, the limit of interval integrals along the first contour equals the sum of a translation integral and the limit of interval integrals along the second integral.

This is a variant of integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable. The sole difference is that the assumptions in this lemma do not include the factor of I that comes from contour parametrisation. The reason we state this version is that it might be more convenient to use in certain cases.

theorem Complex.integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable_of_integrable_on {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) (hint₁ : MeasureTheory.IntegrableOn (fun (t : ) => f (x₁ + t * I)) (Set.Ioi y) MeasureTheory.volume) (hint₂ : MeasureTheory.IntegrableOn (fun (t : ) => f (x₂ + t * I)) (Set.Ioi y) MeasureTheory.volume) (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
(( (x : ) in x₁..x₂, f (x + y * I)) + I (t : ) in Set.Ioi y, f (x₂ + t * I)) - I (t : ) in Set.Ioi y, f (x₁ + t * I) = 0

Deformation of open rectangular contours: Given two infinite vertical contours such that a function satisfies Cauchy-Goursat conditions between them and is integrable along both vertical contours, the improper integral along the first contour equals the sum of a translation integral and the improper integrals along the second integral.

This is a variant of integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable' that requires the much stronger assumption of integrability. The reason integrability is stronger is that it requires the integral of the norm of the function to be finite rather than just that of the function. We nevertheless include this version of the theorem because it is likely that in applications involving specific functions, there will already be proofs of integrability.

theorem Complex.integral_boundary_open_rect_eq_zero_of_differentiable_on_off_countable_of_integrable_on' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x₁ x₂ : } (y : ) (hcont : ContinuousOn f (Set.uIcc x₁ x₂ ×ℂ Set.Ici y)) (s : Set ) (hs : s.Countable) (hdiff : xSet.Ioo (min x₁ x₂) (max x₁ x₂) ×ℂ Set.Ioi y \ s, DifferentiableAt f x) (hint₁ : MeasureTheory.IntegrableOn (fun (t : ) => f (x₁ + t * I)) (Set.Ioi y) MeasureTheory.volume) (htendsto : ε > 0, ∃ (M : ), ∀ (z : ), M z.imf z < ε) :
(( (x : ) in x₁..x₂, f (x + y * I)) + I (t : ) in Set.Ioi y, f (x₂ + t * I)) - I (t : ) in Set.Ioi y, f (x₁ + t * I) = 0