Documentation

Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable

Differentiability of functions in vector bundles #

theorem mdifferentiableWithinAt_totalSpace {๐•œ : Type u_1} {B : Type u_2} {F : Type u_4} {M : Type u_5} {E : B โ†’ Type u_6} [NontriviallyNormedField ๐•œ] [NormedAddCommGroup F] [NormedSpace ๐•œ F] [TopologicalSpace (Bundle.TotalSpace F E)] [(x : B) โ†’ TopologicalSpace (E x)] {EB : Type u_7} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_8} [TopologicalSpace HB] (IB : ModelWithCorners ๐•œ EB HB) {EM : Type u_10} [NormedAddCommGroup EM] [NormedSpace ๐•œ EM] {HM : Type u_11} [TopologicalSpace HM] {IM : ModelWithCorners ๐•œ EM HM} [TopologicalSpace M] [ChartedSpace HM M] [TopologicalSpace B] [ChartedSpace HB B] [FiberBundle F E] (f : M โ†’ Bundle.TotalSpace F E) {s : Set M} {xโ‚€ : M} :
MDifferentiableWithinAt IM (IB.prod (modelWithCornersSelf ๐•œ F)) f s xโ‚€ โ†” MDifferentiableWithinAt IM IB (fun (x : M) => (f x).proj) s xโ‚€ โˆง MDifferentiableWithinAt IM (modelWithCornersSelf ๐•œ F) (fun (x : M) => (โ†‘(trivializationAt F E (f xโ‚€).proj) (f x)).2) s xโ‚€

Characterization of differentiable functions into a smooth vector bundle.

theorem MDifferentiableWithinAt.clm_apply_of_inCoordinates {๐•œ : Type u_1} {Fโ‚ : Type u_2} {Fโ‚‚ : Type u_3} {Bโ‚ : Type u_4} {Bโ‚‚ : Type u_5} {M : Type u_6} {Eโ‚ : Bโ‚ โ†’ Type u_7} {Eโ‚‚ : Bโ‚‚ โ†’ Type u_8} [NontriviallyNormedField ๐•œ] [(x : Bโ‚) โ†’ AddCommGroup (Eโ‚ x)] [(x : Bโ‚) โ†’ Module ๐•œ (Eโ‚ x)] [NormedAddCommGroup Fโ‚] [NormedSpace ๐•œ Fโ‚] [TopologicalSpace (Bundle.TotalSpace Fโ‚ Eโ‚)] [(x : Bโ‚) โ†’ TopologicalSpace (Eโ‚ x)] [(x : Bโ‚‚) โ†’ AddCommGroup (Eโ‚‚ x)] [(x : Bโ‚‚) โ†’ Module ๐•œ (Eโ‚‚ x)] [NormedAddCommGroup Fโ‚‚] [NormedSpace ๐•œ Fโ‚‚] [TopologicalSpace (Bundle.TotalSpace Fโ‚‚ Eโ‚‚)] [(x : Bโ‚‚) โ†’ TopologicalSpace (Eโ‚‚ x)] {EBโ‚ : Type u_9} [NormedAddCommGroup EBโ‚] [NormedSpace ๐•œ EBโ‚] {HBโ‚ : Type u_10} [TopologicalSpace HBโ‚] {IBโ‚ : ModelWithCorners ๐•œ EBโ‚ HBโ‚} [TopologicalSpace Bโ‚] [ChartedSpace HBโ‚ Bโ‚] {EBโ‚‚ : Type u_11} [NormedAddCommGroup EBโ‚‚] [NormedSpace ๐•œ EBโ‚‚] {HBโ‚‚ : Type u_12} [TopologicalSpace HBโ‚‚] {IBโ‚‚ : ModelWithCorners ๐•œ EBโ‚‚ HBโ‚‚} [TopologicalSpace Bโ‚‚] [ChartedSpace HBโ‚‚ Bโ‚‚] {EM : Type u_13} [NormedAddCommGroup EM] [NormedSpace ๐•œ EM] {HM : Type u_14} [TopologicalSpace HM] {IM : ModelWithCorners ๐•œ EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle Fโ‚ Eโ‚] [VectorBundle ๐•œ Fโ‚ Eโ‚] [FiberBundle Fโ‚‚ Eโ‚‚] [VectorBundle ๐•œ Fโ‚‚ Eโ‚‚] {bโ‚ : M โ†’ Bโ‚} {bโ‚‚ : M โ†’ Bโ‚‚} {mโ‚€ : M} {ฯ• : (m : M) โ†’ Eโ‚ (bโ‚ m) โ†’L[๐•œ] Eโ‚‚ (bโ‚‚ m)} {v : (m : M) โ†’ Eโ‚ (bโ‚ m)} {s : Set M} (hฯ• : MDifferentiableWithinAt IM (modelWithCornersSelf ๐•œ (Fโ‚ โ†’L[๐•œ] Fโ‚‚)) (fun (m : M) => ContinuousLinearMap.inCoordinates Fโ‚ Eโ‚ Fโ‚‚ Eโ‚‚ (bโ‚ mโ‚€) (bโ‚ m) (bโ‚‚ mโ‚€) (bโ‚‚ m) (ฯ• m)) s mโ‚€) (hv : MDifferentiableWithinAt IM (IBโ‚.prod (modelWithCornersSelf ๐•œ Fโ‚)) (fun (m : M) => { proj := bโ‚ m, snd := v m }) s mโ‚€) (hbโ‚‚ : MDifferentiableWithinAt IM IBโ‚‚ bโ‚‚ s mโ‚€) :
MDifferentiableWithinAt IM (IBโ‚‚.prod (modelWithCornersSelf ๐•œ Fโ‚‚)) (fun (m : M) => { proj := bโ‚‚ m, snd := (ฯ• m) (v m) }) s mโ‚€

Consider a smooth map v : M โ†’ Eโ‚ to a vector bundle, over a basemap bโ‚ : M โ†’ Bโ‚, and another basemap bโ‚‚ : M โ†’ Bโ‚‚. Given linear maps ฯ• m : Eโ‚ (bโ‚ m) โ†’ Eโ‚‚ (bโ‚‚ m) depending smoothly on m, one can apply ฯ• m to g m, and the resulting map is smooth.

Note that the smoothness of ฯ• can not be always be stated as smoothness of a map into a manifold, as the pullback bundles bโ‚ *แต– Eโ‚ and bโ‚‚ *แต– Eโ‚‚ only make sense when bโ‚ and bโ‚‚ are globally smooth, but we want to apply this lemma with only local information. Therefore, we formulate it using smoothness of ฯ• read in coordinates.

Version for MDifferentiableWithinAt. We also give a version for MDifferentiableAt, but no version for MDifferentiableOn or MDifferentiable as our assumption, written in coordinates, only makes sense around a point.

theorem MDifferentiableAt.clm_apply_of_inCoordinates {๐•œ : Type u_1} {Fโ‚ : Type u_2} {Fโ‚‚ : Type u_3} {Bโ‚ : Type u_4} {Bโ‚‚ : Type u_5} {M : Type u_6} {Eโ‚ : Bโ‚ โ†’ Type u_7} {Eโ‚‚ : Bโ‚‚ โ†’ Type u_8} [NontriviallyNormedField ๐•œ] [(x : Bโ‚) โ†’ AddCommGroup (Eโ‚ x)] [(x : Bโ‚) โ†’ Module ๐•œ (Eโ‚ x)] [NormedAddCommGroup Fโ‚] [NormedSpace ๐•œ Fโ‚] [TopologicalSpace (Bundle.TotalSpace Fโ‚ Eโ‚)] [(x : Bโ‚) โ†’ TopologicalSpace (Eโ‚ x)] [(x : Bโ‚‚) โ†’ AddCommGroup (Eโ‚‚ x)] [(x : Bโ‚‚) โ†’ Module ๐•œ (Eโ‚‚ x)] [NormedAddCommGroup Fโ‚‚] [NormedSpace ๐•œ Fโ‚‚] [TopologicalSpace (Bundle.TotalSpace Fโ‚‚ Eโ‚‚)] [(x : Bโ‚‚) โ†’ TopologicalSpace (Eโ‚‚ x)] {EBโ‚ : Type u_9} [NormedAddCommGroup EBโ‚] [NormedSpace ๐•œ EBโ‚] {HBโ‚ : Type u_10} [TopologicalSpace HBโ‚] {IBโ‚ : ModelWithCorners ๐•œ EBโ‚ HBโ‚} [TopologicalSpace Bโ‚] [ChartedSpace HBโ‚ Bโ‚] {EBโ‚‚ : Type u_11} [NormedAddCommGroup EBโ‚‚] [NormedSpace ๐•œ EBโ‚‚] {HBโ‚‚ : Type u_12} [TopologicalSpace HBโ‚‚] {IBโ‚‚ : ModelWithCorners ๐•œ EBโ‚‚ HBโ‚‚} [TopologicalSpace Bโ‚‚] [ChartedSpace HBโ‚‚ Bโ‚‚] {EM : Type u_13} [NormedAddCommGroup EM] [NormedSpace ๐•œ EM] {HM : Type u_14} [TopologicalSpace HM] {IM : ModelWithCorners ๐•œ EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle Fโ‚ Eโ‚] [VectorBundle ๐•œ Fโ‚ Eโ‚] [FiberBundle Fโ‚‚ Eโ‚‚] [VectorBundle ๐•œ Fโ‚‚ Eโ‚‚] {bโ‚ : M โ†’ Bโ‚} {bโ‚‚ : M โ†’ Bโ‚‚} {mโ‚€ : M} {ฯ• : (m : M) โ†’ Eโ‚ (bโ‚ m) โ†’L[๐•œ] Eโ‚‚ (bโ‚‚ m)} {v : (m : M) โ†’ Eโ‚ (bโ‚ m)} (hฯ• : MDifferentiableAt IM (modelWithCornersSelf ๐•œ (Fโ‚ โ†’L[๐•œ] Fโ‚‚)) (fun (m : M) => ContinuousLinearMap.inCoordinates Fโ‚ Eโ‚ Fโ‚‚ Eโ‚‚ (bโ‚ mโ‚€) (bโ‚ m) (bโ‚‚ mโ‚€) (bโ‚‚ m) (ฯ• m)) mโ‚€) (hv : MDifferentiableAt IM (IBโ‚.prod (modelWithCornersSelf ๐•œ Fโ‚)) (fun (m : M) => { proj := bโ‚ m, snd := v m }) mโ‚€) (hbโ‚‚ : MDifferentiableAt IM IBโ‚‚ bโ‚‚ mโ‚€) :
MDifferentiableAt IM (IBโ‚‚.prod (modelWithCornersSelf ๐•œ Fโ‚‚)) (fun (m : M) => { proj := bโ‚‚ m, snd := (ฯ• m) (v m) }) mโ‚€

Consider a smooth map v : M โ†’ Eโ‚ to a vector bundle, over a basemap bโ‚ : M โ†’ Bโ‚, and another basemap bโ‚‚ : M โ†’ Bโ‚‚. Given linear maps ฯ• m : Eโ‚ (bโ‚ m) โ†’ Eโ‚‚ (bโ‚‚ m) depending smoothly on m, one can apply ฯ• m to g m, and the resulting map is smooth.

Note that the smoothness of ฯ• can not be always be stated as smoothness of a map into a manifold, as the pullback bundles bโ‚ *แต– Eโ‚ and bโ‚‚ *แต– Eโ‚‚ only make sense when bโ‚ and bโ‚‚ are globally smooth, but we want to apply this lemma with only local information. Therefore, we formulate it using smoothness of ฯ• read in coordinates.

Version for MDifferentiableAt. We also give a version for MDifferentiableWithinAt, but no version for MDifferentiableOn or MDifferentiable as our assumption, written in coordinates, only makes sense around a point.