Skip to content

Commit f9ab5e7

Browse files
committed
feat(ContinuousFunctionalCalculus): Show that integration commutes with the CFC (#16013)
This PR shows that `cfc (fun r => ∫ x, f x r ∂μ) a = ∫ x, cfc (f x) a ∂μ` under appropriate conditions. The continuity condition given here is enough for most applications (I think) and reasonably easy to apply for the integral representations this is meant for, but I would be open to suggestions. Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>
1 parent 50a89e2 commit f9ab5e7

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,7 @@ import Mathlib.Analysis.BoxIntegral.Partition.Tagged
918918
import Mathlib.Analysis.CStarAlgebra.Basic
919919
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic
920920
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances
921+
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral
921922
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital
922923
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order
923924
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/-
2+
Copyright (c) 2024 Frédéric Dupuis. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Frédéric Dupuis
5+
-/
6+
7+
import Mathlib.Analysis.Normed.Algebra.Spectrum
8+
import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital
9+
import Mathlib.MeasureTheory.Integral.SetIntegral
10+
11+
/-!
12+
# Integrals and the continuous functional calculus
13+
14+
This file gives results about integrals of the form `∫ x, cfc (f x) a`. Most notably, we show
15+
that the integral commutes with the continuous functional calculus under appropriate conditions.
16+
17+
## Main declarations
18+
19+
+ `cfc_integral`: given a function `f : X → 𝕜 → 𝕜`, we have that
20+
`cfc (fun r => ∫ x, f x r ∂μ) a = ∫ x, cfc (f x) a ∂μ`
21+
under appropriate conditions
22+
23+
## TODO
24+
25+
+ Prove a similar result for the non-unital case
26+
+ Lift this to the case where the CFC is over `ℝ≥0`
27+
+ Use this to prove operator monotonicity and concavity/convexity of `rpow` and `log`
28+
-/
29+
30+
open MeasureTheory
31+
32+
section unital
33+
34+
variable {X : Type*} {𝕜 : Type*} {A : Type*} {p : A → Prop} [RCLike 𝕜]
35+
[MeasurableSpace X] {μ : Measure X}
36+
[NormedRing A] [StarRing A] [NormedAlgebra 𝕜 A] [NormedAlgebra ℝ A] [CompleteSpace A]
37+
[ContinuousFunctionalCalculus 𝕜 p]
38+
39+
lemma cfcL_integral (a : A) (f : X → C(spectrum 𝕜 a, 𝕜)) (hf₁ : Integrable f μ) (ha : p a) :
40+
∫ x, cfcL ha (f x) ∂μ = cfcL ha (∫ x, f x ∂μ) := by
41+
rw [ContinuousLinearMap.integral_comp_comm _ hf₁]
42+
43+
lemma cfcHom_integral (a : A) (f : X → C(spectrum 𝕜 a, 𝕜)) (hf₁ : Integrable f μ) (ha : p a) :
44+
∫ x, cfcHom ha (f x) ∂μ = cfcHom ha (∫ x, f x ∂μ) :=
45+
cfcL_integral a f hf₁ ha
46+
47+
open ContinuousMap in
48+
/-- The continuous functional calculus commutes with integration. -/
49+
lemma cfc_integral [TopologicalSpace X] [OpensMeasurableSpace X] (f : X → 𝕜 → 𝕜)
50+
(bound : X → ℝ) (a : A) [SecondCountableTopologyEither X C(spectrum 𝕜 a, 𝕜)]
51+
(hf₁ : ∀ x, ContinuousOn (f x) (spectrum 𝕜 a))
52+
(hf₂ : Continuous (fun x ↦ (⟨_, hf₁ x |>.restrict⟩ : C(spectrum 𝕜 a, 𝕜))))
53+
(hbound : ∀ x, ∀ z ∈ spectrum 𝕜 a, ‖f x z‖ ≤ ‖bound x‖)
54+
(hbound_finite_integral : HasFiniteIntegral bound μ) (ha : p a := by cfc_tac) :
55+
cfc (fun r => ∫ x, f x r ∂μ) a = ∫ x, cfc (f x) a ∂μ := by
56+
let fc : X → C(spectrum 𝕜 a, 𝕜) := fun x => ⟨_, (hf₁ x).restrict⟩
57+
have fc_integrable : Integrable fc μ := by
58+
refine ⟨hf₂.aestronglyMeasurable, ?_⟩
59+
refine hbound_finite_integral.mono <| .of_forall fun x ↦ ?_
60+
rw [norm_le _ (norm_nonneg (bound x))]
61+
exact fun z ↦ hbound x z.1 z.2
62+
have h_int_fc : (spectrum 𝕜 a).restrict (∫ x, f x · ∂μ) = ∫ x, fc x ∂μ := by
63+
ext; simp [integral_apply fc_integrable, fc]
64+
have hcont₂ : ContinuousOn (fun r => ∫ x, f x r ∂μ) (spectrum 𝕜 a) := by
65+
rw [continuousOn_iff_continuous_restrict]
66+
convert map_continuous (∫ x, fc x ∂μ)
67+
rw [integral_congr_ae (.of_forall fun _ ↦ cfc_apply ..), cfc_apply ..,
68+
cfcHom_integral _ _ fc_integrable]
69+
congr
70+
71+
/-- The continuous functional calculus commutes with integration. -/
72+
lemma cfc_integral' [TopologicalSpace X] [OpensMeasurableSpace X] (f : X → 𝕜 → 𝕜)
73+
(bound : X → ℝ) (a : A) [SecondCountableTopologyEither X C(spectrum 𝕜 a, 𝕜)]
74+
(hf : Continuous (fun x => (spectrum 𝕜 a).restrict (f x)).uncurry)
75+
(hbound : ∀ x, ∀ z ∈ spectrum 𝕜 a, ‖f x z‖ ≤ ‖bound x‖)
76+
(hbound_finite_integral : HasFiniteIntegral bound μ) (ha : p a := by cfc_tac) :
77+
cfc (fun r => ∫ x, f x r ∂μ) a = ∫ x, cfc (f x) a ∂μ := by
78+
refine cfc_integral f bound a ?_ ?_ hbound hbound_finite_integral
79+
· exact (continuousOn_iff_continuous_restrict.mpr <| hf.uncurry_left ·)
80+
· exact ContinuousMap.curry ⟨_, hf⟩ |>.continuous
81+
82+
end unital

Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,18 @@ theorem cfcHom_comp [UniqueContinuousFunctionalCalculus R A] (f : C(spectrum R a
260260

261261
end cfcHom
262262

263+
section cfcL
264+
265+
/-- `cfcHom` bundled as a continuous linear map. -/
266+
@[simps apply]
267+
noncomputable def cfcL {a : A} (ha : p a) : C(spectrum R a, R) →L[R] A :=
268+
{ cfcHom ha with
269+
toFun := cfcHom ha
270+
map_smul' := map_smul _
271+
cont := (cfcHom_closedEmbedding ha).continuous }
272+
273+
end cfcL
274+
263275
section CFC
264276

265277
open scoped Classical in
@@ -310,6 +322,10 @@ lemma cfcHom_eq_cfc_extend {a : A} (g : R → R) (ha : p a) (f : C(spectrum R a,
310322
rw [cfc_apply ..]
311323
congr!
312324

325+
lemma cfc_eq_cfcL {a : A} {f : R → R} (ha : p a) (hf : ContinuousOn f (spectrum R a)) :
326+
cfc f a = cfcL ha ⟨_, hf.restrict⟩ := by
327+
rw [cfc_def, dif_pos ⟨ha, hf⟩, cfcL_apply]
328+
313329
lemma cfc_cases (P : A → Prop) (a : A) (f : R → R) (h₀ : P 0)
314330
(haf : (hf : ContinuousOn f (spectrum R a)) → (ha : p a) → P (cfcHom ha ⟨_, hf.restrict⟩)) :
315331
P (cfc f a) := by

0 commit comments

Comments
 (0)