Documentation

Mathlib.Geometry.Manifold.VectorBundle.LocalFrame

Local frames in a vector bundle #

Let V → M be a finite rank smooth vector bundle with standard fiber F. A family of sections s i of V → M is called a C^k local frame on a set U ⊆ M iff each section s i is C^k on U, and the section values s i x form a basis for each x ∈ U. We define a predicate IsLocalFrame for a collection of sections to be a local frame on a set, and define basic notions (such as the coefficients of a section w.r.t. a local frame, and checking the smoothness of t via its coefficients in a local frame).

Given a basis b for F and a local trivialisation e for V, we construct a smooth local frame on V w.r.t. e and b, i.e. a collection of sections sᵢ of V which is smooth on e.baseSet such that {sᵢ x} is a basis of V x for each x ∈ e.baseSet. Any section s of e can be uniquely written as s = ∑ i, f^i sᵢ near x, and s is smooth at x iff the functions f^i are.

In this file, we prove the latter statement for finite-rank bundles (with coefficients in a complete field). In Mathlib/Geometry/Manifold/VectorBundle/OrthonormalFrame.lean (#26221), we will prove the same for real vector bundles of any rank which admit a C^n bundle metric. This includes bundles of finite rank, modelled on a Hilbert space or on a Banach space which has smooth partitions of unity.

We will use this to construct local extensions of a vector to a section which is smooth on the trivialisation domain.

Main definitions and results #

Suppose {sᵢ} is a local frame on U, and hs : IsLocalFrameOn s U.

In the following lemmas, let e be a compatible local trivialisation of V, and b a basis of the model fiber F.

TODO #

Strengthen the proof of smoothness in terms of the local frame coefficients.

Implementation notes #

Local frames use the junk value pattern: they are defined on all of M, but their value is only meaningful on the set on which they are a local frame.

Tags #

vector bundle, local frame, smoothness

structure IsLocalFrameOn {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] (I : ModelWithCorners 𝕜 E H) {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] (F : Type u_5) [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} (n : WithTop ℕ∞) (s : ι(x : M) → V x) (u : Set M) :

A family of sections s i of V → M is called a C^k local frame on a set U ⊆ M iff

  • the section values s i x form a basis for each x ∈ U,
  • each section s i is C^k on U.
Instances For
    theorem IsLocalFrameOn.congr {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s s' : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (hs' : ∀ (i : ι), xu, s i x = s' i x) :
    IsLocalFrameOn I F n s' u

    If s = s' on u and s i is a local frame on u, then so is s'.

    theorem IsLocalFrameOn.mono {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u u' : Set M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (hu'u : u' u) :
    IsLocalFrameOn I F n s u'
    theorem IsLocalFrameOn.contMDiffAt {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (hu : IsOpen u) (hx : x u) (i : ι) :
    ContMDiffAt I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (s i x)) x
    def IsLocalFrameOn.toBasisAt {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (hx : x u) :
    Module.Basis ι 𝕜 (V x)

    Given a local frame {s i} on U ∋ x, returns the basis {s i} of V x

    Equations
    Instances For
      @[simp]
      theorem IsLocalFrameOn.toBasisAt_coe {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (hx : x u) (i : ι) :
      (hs.toBasisAt hx) i = s i x
      def IsLocalFrameOn.fintype_of_finiteDimensional {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {n : WithTop ℕ∞} [VectorBundle 𝕜 F V] [FiniteDimensional 𝕜 F] (hs : IsLocalFrameOn I F n s u) (hx : x u) :

      If {sᵢ} is a local frame on a vector bundle, F being finite-dimensional implies the indexing set being finite.

      Equations
      Instances For
        def IsLocalFrameOn.coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} (hs : IsLocalFrameOn I F n s u) (i : ι) :
        ((x : M) → V x) →ₗ[𝕜] M𝕜

        Coefficients of a section s of V w.r.t. a local frame {s i} on u. Outside of u, this returns the junk value 0.

        Equations
        • hs.coeff i = { toFun := fun (s_1 : (x : M) → V x) (x : M) => if hx : x u then ((hs.toBasisAt hx).repr (s_1 x)) i else 0, map_add' := , map_smul' := }
        Instances For
          @[simp]
          theorem IsLocalFrameOn.coeff_apply_of_notMem {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} (hs : IsLocalFrameOn I F n s u) (hx : xu) (t : (x : M) → V x) (i : ι) :
          (hs.coeff i) t x = 0
          @[simp]
          theorem IsLocalFrameOn.coeff_apply_of_mem {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} (hs : IsLocalFrameOn I F n s u) (hx : x u) (t : (x : M) → V x) (i : ι) :
          (hs.coeff i) t x = ((hs.toBasisAt hx).repr (t x)) i
          theorem IsLocalFrameOn.coeff_sum_eq {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} [Fintype ι] (hs : IsLocalFrameOn I F n s u) (t : (x : M) → V x) (hx : x u) :
          t x = i : ι, (hs.coeff i) t x s i x
          theorem IsLocalFrameOn.eventually_eq_sum_coeff_smul {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} [Fintype ι] (hs : IsLocalFrameOn I F n s u) (t : (x : M) → V x) (hu'' : u nhds x) :
          ∀ᶠ (x' : M) in nhds x, t x' = i : ι, (hs.coeff i) t x' s i x'

          A local frame locally spans the space of sections for V: for each local frame s i on an open set u around x, we have t = ∑ i, (hs.coeff i t) • (s i x) near x.

          theorem IsLocalFrameOn.coeff_congr {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} {t t' : (x : M) → V x} (hs : IsLocalFrameOn I F n s u) (htt' : t x = t' x) (i : ι) :
          (hs.coeff i) t x = (hs.coeff i) t' x

          The coefficients of t in a local frame at x only depend on t at x.

          theorem IsLocalFrameOn.coeff_eq_of_eq {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s s' : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} (hs : IsLocalFrameOn I F n s u) (hs' : IsLocalFrameOn I F n s' u) (hss' : ∀ (i : ι), s i x = s' i x) {t : (x : M) → V x} (i : ι) :
          (hs.coeff i) t x = (hs'.coeff i) t x

          If s and s' are local frames which are equal at x, a section t has equal frame coefficients in them.

          theorem IsLocalFrameOn.eq_iff_coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} {t t' : (x : M) → V x} [VectorBundle 𝕜 F V] [FiniteDimensional 𝕜 F] (hs : IsLocalFrameOn I F n s u) (hx : x u) :
          t x = t' x ∀ (i : ι), (hs.coeff i) t x = (hs.coeff i) t' x

          Two sections s and t are equal at x if and only if their coefficients w.r.t. some local frame at x agree.

          theorem IsLocalFrameOn.coeff_apply_zero_at {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} {t : (x : M) → V x} (hs : IsLocalFrameOn I F n s u) (ht : t x = 0) (i : ι) :
          (hs.coeff i) t x = 0
          theorem IsLocalFrameOn.contMDiffOn_of_coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {t : (x : M) → V x} (hs : IsLocalFrameOn I F n s u) [VectorBundle 𝕜 F V] [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), ContMDiffOn I (modelWithCornersSelf 𝕜 𝕜) n ((hs.coeff i) t) u) :
          ContMDiffOn I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) u

          Given a local frame s i on u, if a section t has C^k coefficients on u w.r.t. s i, then t is C^n on u.

          theorem IsLocalFrameOn.contMDiffAt_of_coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} {t : (x : M) → V x} (hs : IsLocalFrameOn I F n s u) [VectorBundle 𝕜 F V] [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), ContMDiffAt I (modelWithCornersSelf 𝕜 𝕜) n ((hs.coeff i) t) x) (hu : u nhds x) :
          ContMDiffAt I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) x

          Given a local frame s i on a neighbourhood u of x, if a section t has C^k coefficients at x w.r.t. s i, then t is C^n at x.

          theorem IsLocalFrameOn.contMDiffAt_of_coeff_aux {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {n : WithTop ℕ∞} {x : M} {t : (x : M) → V x} (hs : IsLocalFrameOn I F n s u) [VectorBundle 𝕜 F V] [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), ContMDiffAt I (modelWithCornersSelf 𝕜 𝕜) n ((hs.coeff i) t) x) (hu : IsOpen u) (hx : x u) :
          ContMDiffAt I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) x

          Given a local frame s i on an open set u containing x, if a section t has C^k coefficients at x ∈ u w.r.t. s i, then t is C^n at x.

          theorem IsLocalFrameOn.mdifferentiableOn_of_coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {t : (x : M) → V x} [VectorBundle 𝕜 F V] (hs : IsLocalFrameOn I F 1 s u) [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), MDifferentiableOn I (modelWithCornersSelf 𝕜 𝕜) ((hs.coeff i) t) u) :
          MDifferentiableOn I (I.prod (modelWithCornersSelf 𝕜 F)) (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) u

          Given a local frame s i on u, if a section t has differentiable coefficients on u w.r.t. s i, then t is differentiable on u.

          theorem IsLocalFrameOn.mdifferentiableAt_of_coeff {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {t : (x : M) → V x} [VectorBundle 𝕜 F V] (hs : IsLocalFrameOn I F 1 s u) [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), MDifferentiableAt I (modelWithCornersSelf 𝕜 𝕜) ((hs.coeff i) t) x) (hu : u nhds x) :
          MDifferentiableAt I (I.prod (modelWithCornersSelf 𝕜 F)) (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) x

          Given a local frame s i on a neighbourhood u of x, if a section t has differentiable coefficients at x w.r.t. s i, then t is differentiable at x.

          theorem IsLocalFrameOn.mdifferentiableAt_of_coeff_aux {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] {ι : Type u_7} {s : ι(x : M) → V x} {u : Set M} {x : M} {t : (x : M) → V x} [VectorBundle 𝕜 F V] (hs : IsLocalFrameOn I F 1 s u) [FiniteDimensional 𝕜 F] (h : ∀ (i : ι), MDifferentiableAt I (modelWithCornersSelf 𝕜 𝕜) ((hs.coeff i) t) x) (hu : IsOpen u) (hx : x u) :
          MDifferentiableAt I (I.prod (modelWithCornersSelf 𝕜 F)) (fun (x : M) => Bundle.TotalSpace.mk' F x (t x)) x

          Given a local frame s i on open set u containing x, if a section t has differentiable coefficients at x ∈ u w.r.t. s i, then t is differentiable at x.

          def Trivialization.basisAt {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {M : Type u_4} [TopologicalSpace M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] {ι : Type u_7} {x : M} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) (hx : x e.baseSet) :
          Module.Basis ι 𝕜 (V x)

          Given a compatible local trivialisation e of V and a basis b of the model fiber F, return the corresponding basis of V x.

          Equations
          Instances For
            def Trivialization.localFrame {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {M : Type u_4} [TopologicalSpace M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] {ι : Type u_7} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) :
            ι(x : M) → V x

            The local frame on V induced by a compatible local trivialization e of V and a basis b of the model fiber F. Use e.localFrame b i to access the i-th section in that frame.

            If x is outside of e.baseSet, this returns the junk value 0.

            Equations
            Instances For
              @[simp]
              theorem Trivialization.localFrame_apply_of_mem_baseSet {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {M : Type u_4} [TopologicalSpace M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] {ι : Type u_7} {x : M} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) {i : ι} (hx : x e.baseSet) :
              e.localFrame b i x = (e.basisAt b hx) i
              theorem Trivialization.localFrame_apply_of_notMem {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {M : Type u_4} [TopologicalSpace M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] {ι : Type u_7} {x : M} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) {i : ι} (hx : xe.baseSet) :
              e.localFrame b i x = 0
              theorem Trivialization.contMDiffOn_localFrame_baseSet {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] (n : WithTop ℕ∞) {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] [ContMDiffVectorBundle n F V I] {ι : Type u_7} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) (i : ι) :
              ContMDiffOn I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (e.localFrame b i x)) e.baseSet

              Each local frame {sᵢ} ∈ Γ(E) of a C^k vector bundle, defined by a local trivialisation e, is C^k on e.baseSet.

              theorem Trivialization.isLocalFrameOn_localFrame_baseSet {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] (I : ModelWithCorners 𝕜 E H) {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] (n : WithTop ℕ∞) {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] [ContMDiffVectorBundle n F V I] {ι : Type u_7} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) :

              b.localFrame e i is indeed a local frame on e.baseSet

              theorem contMDiffAt_localFrame_of_mem {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners 𝕜 E H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] {F : Type u_5} [NormedAddCommGroup F] [NormedSpace 𝕜 F] (n : WithTop ℕ∞) {V : MType u_6} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] [ContMDiffVectorBundle n F V I] {ι : Type u_7} {x : M} (e : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] (b : Module.Basis ι 𝕜 F) (i : ι) (hx : x e.baseSet) :
              ContMDiffAt I (I.prod (modelWithCornersSelf 𝕜 F)) n (fun (x : M) => Bundle.TotalSpace.mk' F x (e.localFrame b i x)) x