Documentation

TauCeti.Geometry.Manifold.VectorBundle.FrameTrivialization

Trivializations from local frames, and trivial line bundles #

Let V โ†’ B be a C^n vector bundle whose model fibre F has a finite basis b. A C^n local frame s of V on an open set U (in the sense of Mathlib's IsLocalFrameOn) determines a linear trivialization over U: a vector v โˆˆ V x is sent to the vector of F having the same coordinates in b as v has in the frame s ยท x. This file constructs that trivialization and shows that it belongs to the maximal atlas of trivializations compatible with the C^n structure of V. Conversely, for a member e of that maximal atlas, the sections x โ†ฆ e.symm x (b i) form a C^n local frame on its base set. So V admits a compatible trivialization over U exactly when it admits a C^n local frame on U.

Read in a trivialization e' of the bundle's atlas, the frame becomes a family of invertible operators of F, the coordinate change from the frame trivialization to e'. Its entries are the coordinates of the frame sections in e', hence C^n, and its inverse is C^n because operator inversion is smooth. This gives both the continuity needed to define the trivialization and its C^n compatibility with the atlas. The same construction for continuous local frames of a family of subspaces of a topological vector bundle, with the subspace topology, is TauCeti.IsSubbundleFrameOn.trivialization. Mathlib's Bundle.Trivialization.localFrame gives the converse direction for trivializations of the bundle's own atlas.

For a bundle of rank one a single section that vanishes nowhere on U is a local frame on U. Hence a line bundle admits a compatible trivialization over U exactly when it has a C^n section without zeros on U; with U = univ, it is trivial exactly when it has a nowhere-zero C^n section. Over the model ๐“˜(โ„‚, EB) with n = โˆž, the maximal atlas consists of the holomorphic trivializations of a holomorphic vector bundle, and this is the criterion that a holomorphic line bundle is holomorphically trivial exactly when it has a nowhere-vanishing holomorphic section.

Main definitions #

Main results #

References #

Coordinates in a frame #

The frame read in a trivialization #

The trivialization #

noncomputable def IsLocalFrameOn.trivialization {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) :

The trivialization of V over an open set U defined by a local frame s on U and a basis b of the model fibre: over U, a vector of V x is sent to the vector of F with the same coordinates in b as it has in the frame s ยท x.

Instances For
    @[simp]
    theorem IsLocalFrameOn.baseSet_trivialization {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) :
    theorem IsLocalFrameOn.trivialization_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) {x : B} (hx : x โˆˆ U) (v : V x) :
    โ†‘(hs.trivialization hU b) โŸจx, vโŸฉ = (x, ((hs.toBasisAt hx).equiv b (Equiv.refl ฮน)) v)

    Over U, the frame trivialization sends a vector to the vector of F with the same coordinates in b as it has in the frame.

    @[simp]
    theorem IsLocalFrameOn.trivialization_apply_frame {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) {x : B} (hx : x โˆˆ U) (i : ฮน) :
    โ†‘(hs.trivialization hU b) โŸจx, s i xโŸฉ = (x, b i)

    Over U, the frame trivialization sends the frame vector s i x to the basis vector b i.

    @[simp]
    theorem IsLocalFrameOn.trivialization_symm_apply {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) [Fintype ฮน] {x : B} (hx : x โˆˆ U) (w : F) :
    (hs.trivialization hU b).symm x w = โˆ‘ i : ฮน, (b.repr w) i โ€ข s i x

    Over U, the inverse of the frame trivialization sends w to the combination of the frame with coefficients b.repr w.

    instance IsLocalFrameOn.isLinear_trivialization {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) :

    The frame trivialization is fibrewise linear.

    theorem IsLocalFrameOn.trivialization_mem_maximalAtlas {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [Finite ฮน] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) [ContMDiffVectorBundle n F V IB] :

    Local frames give compatible trivializations. The trivialization defined by a C^n local frame lies in the maximal atlas of trivializations compatible with the C^n structure of the bundle.

    theorem IsLocalFrameOn.contMDiffOn_coeff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} {s : ฮน โ†’ (x : B) โ†’ V x} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [FiniteDimensional ๐•œ F] {m : WithTop โ„•โˆž} [ContMDiffVectorBundle m F V IB] (hs : IsLocalFrameOn IB F n s U) (hU : IsOpen U) (hm : m โ‰ค n) {ฯƒ : (x : B) โ†’ V x} (hฯƒ : ContMDiffOn IB (IB.prod (modelWithCornersSelf ๐•œ F)) m (fun (x : B) => โŸจx, ฯƒ xโŸฉ) U) (i : ฮน) :
    ContMDiffOn IB (modelWithCornersSelf ๐•œ ๐•œ) m (fun (x : B) => (hs.coeff i x) (ฯƒ x)) U

    The coefficients of a C^m section in a C^n local frame on an open set are C^m, provided m โ‰ค n.

    Frames from compatible trivializations #

    theorem Bundle.Trivialization.isLocalFrameOn_symm_of_mem_maximalAtlas {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} [VectorBundle ๐•œ F V] [ContMDiffVectorBundle n F V IB] (e : Trivialization F TotalSpace.proj) [Trivialization.IsLinear ๐•œ e] (he : e.toOpenPartialHomeomorph โˆˆ StructureGroupoid.maximalAtlas (TotalSpace F V) (contMDiffFiberwiseLinear B F IB n)) (b : Module.Basis ฮน ๐•œ F) :
    IsLocalFrameOn IB F n (fun (i : ฮน) (x : B) => e.symm x (b i)) e.baseSet

    Compatible trivializations give local frames. A member e of the maximal atlas of C^n trivializations carries a basis b of the model fibre to the C^n local frame x โ†ฆ e.symm x (b i) on its base set.

    theorem ContMDiffVectorBundle.exists_trivialization_baseSet_eq_iff_exists_isLocalFrameOn {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} [CompleteSpace ๐•œ] [VectorBundle ๐•œ F V] [ContMDiffVectorBundle n F V IB] [Finite ฮน] (hU : IsOpen U) (b : Module.Basis ฮน ๐•œ F) :

    A C^n vector bundle whose model fibre has a finite basis indexed by ฮน admits a trivialization over an open set U in the maximal atlas of C^n trivializations exactly when it admits a C^n local frame on U indexed by ฮน.

    Line bundles #

    theorem IsLocalFrameOn.of_finrank_eq_one {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {ฮน : Type u_7} {U : Set B} [VectorBundle ๐•œ F V] [Unique ฮน] (hF : Module.finrank ๐•œ F = 1) {ฯƒ : (x : B) โ†’ V x} (hฯƒ : ContMDiffOn IB (IB.prod (modelWithCornersSelf ๐•œ F)) n (fun (x : B) => โŸจx, ฯƒ xโŸฉ) U) (hฯƒโ‚€ : โˆ€ x โˆˆ U, ฯƒ x โ‰  0) :
    IsLocalFrameOn IB F n (fun (x : ฮน) => ฯƒ) U

    In a vector bundle of rank one, a C^n section without zeros on U is a C^n local frame on U, indexed by any type with a single element.

    theorem ContMDiffVectorBundle.exists_trivialization_baseSet_eq_iff_exists_ne_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} {U : Set B} [VectorBundle ๐•œ F V] [CompleteSpace ๐•œ] [ContMDiffVectorBundle n F V IB] (hF : Module.finrank ๐•œ F = 1) (hU : IsOpen U) :
    (โˆƒ (e : Bundle.Trivialization F Bundle.TotalSpace.proj) (_ : Bundle.Trivialization.IsLinear ๐•œ e), e.toOpenPartialHomeomorph โˆˆ StructureGroupoid.maximalAtlas (Bundle.TotalSpace F V) (contMDiffFiberwiseLinear B F IB n) โˆง e.baseSet = U) โ†” โˆƒ (ฯƒ : (x : B) โ†’ V x), ContMDiffOn IB (IB.prod (modelWithCornersSelf ๐•œ F)) n (fun (x : B) => โŸจx, ฯƒ xโŸฉ) U โˆง โˆ€ x โˆˆ U, ฯƒ x โ‰  0

    A C^n line bundle admits a trivialization over an open set U in the maximal atlas of C^n trivializations exactly when it has a C^n section without zeros on U.

    theorem ContMDiffVectorBundle.exists_trivialization_baseSet_eq_univ_iff_exists_ne_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {EB : Type u_2} [NormedAddCommGroup EB] [NormedSpace ๐•œ EB] {HB : Type u_3} [TopologicalSpace HB] {IB : ModelWithCorners ๐•œ EB HB} {B : Type u_4} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace ๐•œ F] {V : B โ†’ Type u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : B) โ†’ AddCommGroup (V x)] [(x : B) โ†’ Module ๐•œ (V x)] [(x : B) โ†’ TopologicalSpace (V x)] [FiberBundle F V] {n : WithTop โ„•โˆž} [VectorBundle ๐•œ F V] [CompleteSpace ๐•œ] [ContMDiffVectorBundle n F V IB] (hF : Module.finrank ๐•œ F = 1) :
    (โˆƒ (e : Bundle.Trivialization F Bundle.TotalSpace.proj) (_ : Bundle.Trivialization.IsLinear ๐•œ e), e.toOpenPartialHomeomorph โˆˆ StructureGroupoid.maximalAtlas (Bundle.TotalSpace F V) (contMDiffFiberwiseLinear B F IB n) โˆง e.baseSet = Set.univ) โ†” โˆƒ (ฯƒ : (x : B) โ†’ V x), (ContMDiff IB (IB.prod (modelWithCornersSelf ๐•œ F)) n fun (x : B) => โŸจx, ฯƒ xโŸฉ) โˆง โˆ€ (x : B), ฯƒ x โ‰  0

    The trivial line bundle criterion. A C^n line bundle has a trivialization over the whole base in the maximal atlas of C^n trivializations, that is, it is trivial as a C^n vector bundle, exactly when it has a C^n section that vanishes nowhere. For a holomorphic line bundle, over ๐“˜(โ„‚, EB) with n = โˆž, this says that it is holomorphically trivial exactly when it has a nowhere-vanishing holomorphic section.