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

Commit b9689bd

Browse files
committed
feat(topology/algebra/infinite_sum): add lemmas about continuous linear maps (#5243)
Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>
1 parent f730137 commit b9689bd

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/analysis/normed_space/operator_norm.lean

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,10 @@ protected lemma continuous_linear_map.summable {f : ι → M} (φ : M →L[R] M
815815

816816
alias continuous_linear_map.summable ← summable.mapL
817817

818+
protected lemma continuous_linear_map.map_tsum [t2_space M₂] {f : ι → M}
819+
(φ : M →L[R] M₂) (hf : summable f) : φ (∑' z, f z) = ∑' z, φ (f z) :=
820+
(hf.has_sum.mapL φ).tsum_eq.symm
821+
818822
/-- Applying a continuous linear map commutes with taking an (infinite) sum. -/
819823
protected lemma continuous_linear_equiv.has_sum {f : ι → M} (e : M ≃L[R] M₂) {y : M₂} :
820824
has_sum (λ (b:ι), e (f b)) y ↔ has_sum f (e.symm y) :=
@@ -825,6 +829,21 @@ protected lemma continuous_linear_equiv.summable {f : ι → M} (e : M ≃L[R] M
825829
summable (λ b:ι, e (f b)) ↔ summable f :=
826830
⟨λ hf, (e.has_sum.1 hf.has_sum).summable, (e : M →L[R] M₂).summable⟩
827831

832+
lemma continuous_linear_equiv.tsum_eq_iff [t2_space M] [t2_space M₂] {f : ι → M}
833+
(e : M ≃L[R] M₂) {y : M₂} : (∑' z, e (f z)) = y ↔ (∑' z, f z) = e.symm y :=
834+
begin
835+
by_cases hf : summable f,
836+
{ exact ⟨λ h, (e.has_sum.mp ((e.summable.mpr hf).has_sum_iff.mpr h)).tsum_eq,
837+
λ h, (e.has_sum.mpr (hf.has_sum_iff.mpr h)).tsum_eq⟩ },
838+
{ have hf' : ¬summable (λ z, e (f z)) := λ h, hf (e.summable.mp h),
839+
rw [tsum_eq_zero_of_not_summable hf, tsum_eq_zero_of_not_summable hf'],
840+
exact ⟨by { rintro rfl, simp }, λ H, by simpa using (congr_arg (λ z, e z) H)⟩ }
841+
end
842+
843+
protected lemma continuous_linear_equiv.map_tsum [t2_space M] [t2_space M₂] {f : ι → M}
844+
(e : M ≃L[R] M₂) : e (∑' z, f z) = ∑' z, e (f z) :=
845+
by { refine symm (e.tsum_eq_iff.mpr _), rw e.symm_apply_apply _ }
846+
828847
end has_sum
829848

830849
namespace continuous_linear_equiv

src/topology/algebra/infinite_sum.lean

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Authors: Johannes Hölzl
55
-/
66
import algebra.big_operators.intervals
77
import topology.instances.real
8+
import topology.algebra.module
89
import data.indicator_function
910
import data.equiv.encodable.lattice
1011
import order.filter.at_top_bot
@@ -604,6 +605,24 @@ end tsum
604605

605606
end topological_semiring
606607

608+
section topological_semimodule
609+
variables {R : Type*}
610+
[semiring R] [topological_space R]
611+
[topological_space α] [add_comm_monoid α]
612+
[semimodule R α] [topological_semimodule R α]
613+
{f : β → α}
614+
615+
lemma has_sum.smul {a : α} {r : R} (hf : has_sum f a) : has_sum (λ z, r • f z) (r • a) :=
616+
hf.map (const_smul_hom α r) (continuous_const.smul continuous_id)
617+
618+
lemma summable.smul {r : R} (hf : summable f) : summable (λ z, r • f z) :=
619+
hf.has_sum.smul.summable
620+
621+
lemma tsum_smul [t2_space α] {r : R} (hf : summable f) : (∑' z, r • f z) = r • (∑' z, f z) :=
622+
hf.has_sum.smul.tsum_eq
623+
624+
end topological_semimodule
625+
607626
section division_ring
608627

609628
variables [division_ring α] [topological_space α] [topological_semiring α]

0 commit comments

Comments
 (0)