Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 1ff56a0

Browse files
committed
feat(analysis/analytic): a few lemmas about summability and radius (#7365)
This PR adds a few lemmas relating the radius of a formal multilinear series `p` to the summability of `Σ ∥pₙ∥ ∥y∥ⁿ` (in both ways). There isn't anything incredibly new as these are mostly special cases of existing lemmas, but I think they could be simpler to find and use. I also modified the docstring of `formal_multilinear_series.radius` to emphasize the difference between "`Σ pₙ yⁿ`converges" and "`Σ ∥pₙ∥ ∥y∥ⁿ` converges".
1 parent 5247d00 commit 1ff56a0

File tree

1 file changed

+59
-13
lines changed

1 file changed

+59
-13
lines changed

src/analysis/analytic/basic.lean

Lines changed: 59 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,9 @@ namespace formal_multilinear_series
8282

8383
variables (p : formal_multilinear_series 𝕜 E F) {r : ℝ≥0}
8484

85-
/-- The radius of a formal multilinear series is the largest `r` such that the sum `Σ pₙ yⁿ`
86-
converges for all `∥y∥ < r`. -/
85+
/-- The radius of a formal multilinear series is the largest `r` such that the sum `Σ ∥pₙ∥ ∥y∥ⁿ`
86+
converges for all `∥y∥ < r`. This implies that `Σ pₙ yⁿ` converges for all `∥y∥ < r`, but these
87+
definitions are *not* equivalent in general. -/
8788
def radius (p : formal_multilinear_series 𝕜 E F) : ℝ≥0∞ :=
8889
⨆ (r : ℝ≥0) (C : ℝ) (hr : ∀ n, ∥p n∥ * r ^ n ≤ C), (r : ℝ≥0∞)
8990

@@ -103,14 +104,14 @@ exists.elim (is_O_one_nat_at_top_iff.1 h) $ λ C hC, p.le_radius_of_bound C $
103104
λ n, (le_abs_self _).trans (hC n)
104105

105106
lemma radius_eq_top_of_forall_nnreal_is_O
106-
(h : ∀ r : ℝ≥0, is_O (λ n, ∥p n∥ * r^n) (λ n, (1 : ℝ)) at_top) : p.radius = :=
107+
(h : ∀ r : ℝ≥0, is_O (λ n, ∥p n∥ * r^n) (λ n, (1 : ℝ)) at_top) : p.radius = :=
107108
ennreal.eq_top_of_forall_nnreal_le $ λ r, p.le_radius_of_is_O (h r)
108109

109-
lemma radius_eq_top_of_eventually_eq_zero (h : ∀ᶠ n in at_top, p n = 0) : p.radius = :=
110+
lemma radius_eq_top_of_eventually_eq_zero (h : ∀ᶠ n in at_top, p n = 0) : p.radius = :=
110111
p.radius_eq_top_of_forall_nnreal_is_O $
111112
λ r, (is_O_zero _ _).congr' (h.mono $ λ n hn, by simp [hn]) eventually_eq.rfl
112113

113-
lemma radius_eq_top_of_forall_image_add_eq_zero (n : ℕ) (hn : ∀ m, p (m + n) = 0) : p.radius = :=
114+
lemma radius_eq_top_of_forall_image_add_eq_zero (n : ℕ) (hn : ∀ m, p (m + n) = 0) : p.radius = :=
114115
p.radius_eq_top_of_eventually_eq_zero $ mem_at_top_sets.2 ⟨n, λ k hk, nat.sub_add_cancel hk ▸ hn _⟩
115116

116117
/-- For `r` strictly smaller than the radius of `p`, then `∥pₙ∥ rⁿ` tends to zero exponentially:
@@ -182,6 +183,58 @@ lemma nnnorm_mul_pow_le_of_lt_radius (p : formal_multilinear_series 𝕜 E F) {r
182183
let ⟨C, hC, hp⟩ := p.norm_mul_pow_le_of_lt_radius h
183184
in ⟨⟨C, hC.lt.le⟩, hC, by exact_mod_cast hp⟩
184185

186+
lemma le_radius_of_tendsto (p : formal_multilinear_series 𝕜 E F) {l : ℝ}
187+
(h : tendsto (λ n, ∥p n∥ * r^n) at_top (𝓝 l)) : ↑r ≤ p.radius :=
188+
p.le_radius_of_is_O (is_O_one_of_tendsto _ h)
189+
190+
lemma le_radius_of_summable_norm (p : formal_multilinear_series 𝕜 E F)
191+
(hs : summable (λ n, ∥p n∥ * r^n)) : ↑r ≤ p.radius :=
192+
p.le_radius_of_tendsto hs.tendsto_at_top_zero
193+
194+
lemma not_summable_norm_of_radius_lt_nnnorm (p : formal_multilinear_series 𝕜 E F) {x : E}
195+
(h : p.radius < nnnorm x) : ¬ summable (λ n, ∥p n∥ * ∥x∥^n) :=
196+
λ hs, not_le_of_lt h (p.le_radius_of_summable_norm hs)
197+
198+
lemma summable_norm_of_lt_radius (p : formal_multilinear_series 𝕜 E F)
199+
(h : ↑r < p.radius) : summable (λ n, ∥p n∥ * r^n) :=
200+
begin
201+
obtain ⟨a, ha : a ∈ Ioo (0 : ℝ) 1, C, hC : 0 < C, hp⟩ :=
202+
p.norm_mul_pow_le_mul_pow_of_lt_radius h,
203+
refine (summable_of_norm_bounded (λ n, (C : ℝ) * a ^ n)
204+
((summable_geometric_of_lt_1 ha.1.le ha.2).mul_left _) (λ n, _)),
205+
specialize hp n,
206+
rwa real.norm_of_nonneg (mul_nonneg (norm_nonneg _) (pow_nonneg r.coe_nonneg n))
207+
end
208+
209+
lemma summable_of_nnnorm_lt_radius (p : formal_multilinear_series 𝕜 E F) [complete_space F]
210+
{x : E} (h : ↑(nnnorm x) < p.radius) : summable (λ n, p n (λ i, x)) :=
211+
begin
212+
refine summable_of_norm_bounded (λ n, ∥p n∥ * (nnnorm x)^n) (p.summable_norm_of_lt_radius h) _,
213+
intros n,
214+
calc ∥(p n) (λ (i : fin n), x)∥
215+
≤ ∥p n∥ * (∏ i : fin n, ∥x∥) : continuous_multilinear_map.le_op_norm _ _
216+
... = ∥p n∥ * (nnnorm x)^n : by simp
217+
end
218+
219+
lemma radius_eq_top_of_summable_norm (p : formal_multilinear_series 𝕜 E F)
220+
(hs : ∀ r : ℝ≥0, summable (λ n, ∥p n∥ * r^n)) : p.radius = ∞ :=
221+
ennreal.eq_top_of_forall_nnreal_le (λ r, p.le_radius_of_summable_norm (hs r))
222+
223+
lemma radius_eq_top_iff_summable_norm (p : formal_multilinear_series 𝕜 E F) :
224+
p.radius = ∞ ↔ ∀ r : ℝ≥0, summable (λ n, ∥p n∥ * r^n) :=
225+
begin
226+
split,
227+
{ intros h r,
228+
obtain ⟨a, ha : a ∈ Ioo (0 : ℝ) 1, C, hC : 0 < C, hp⟩ :=
229+
p.norm_mul_pow_le_mul_pow_of_lt_radius
230+
(show (r:ℝ≥0∞) < p.radius, from h.symm ▸ ennreal.coe_lt_top),
231+
refine (summable_of_norm_bounded (λ n, (C : ℝ) * a ^ n)
232+
((summable_geometric_of_lt_1 ha.1.le ha.2).mul_left _) (λ n, _)),
233+
specialize hp n,
234+
rwa real.norm_of_nonneg (mul_nonneg (norm_nonneg _) (pow_nonneg r.coe_nonneg n)) },
235+
{ exact p.radius_eq_top_of_summable_norm }
236+
end
237+
185238
/-- If the radius of `p` is positive, then `∥pₙ∥` grows at most geometrically. -/
186239
lemma le_mul_pow_of_radius_pos (p : formal_multilinear_series 𝕜 E F) (h : 0 < p.radius) :
187240
∃ C r (hC : 0 < C) (hr : 0 < r), ∀ n, ∥p n∥ ≤ C * r ^ n :=
@@ -589,14 +642,7 @@ lemma formal_multilinear_series.has_fpower_series_on_ball [complete_space F]
589642
rw zero_add,
590643
replace hy : (nnnorm y : ℝ≥0∞) < p.radius,
591644
by { convert hy, exact (edist_eq_coe_nnnorm _).symm },
592-
obtain ⟨a, ha : a ∈ Ioo (0 : ℝ) 1, C, hC : 0 < C, hp⟩ :=
593-
p.norm_mul_pow_le_mul_pow_of_lt_radius hy,
594-
refine (summable_of_norm_bounded (λ n, (C : ℝ) * a ^ n)
595-
((summable_geometric_of_lt_1 ha.1.le ha.2).mul_left _) (λ n, _)).has_sum,
596-
calc ∥(p n) (λ (i : fin n), y)∥
597-
≤ ∥p n∥ * (∏ i : fin n, ∥y∥) : continuous_multilinear_map.le_op_norm _ _
598-
... = ∥p n∥ * (nnnorm y)^n : by simp
599-
... ≤ C * a ^ n : hp n
645+
exact (p.summable_of_nnnorm_lt_radius hy).has_sum
600646
end }
601647

602648
lemma has_fpower_series_on_ball.sum [complete_space F] (h : has_fpower_series_on_ball f p x r)

0 commit comments

Comments
 (0)