Documentation

TauCeti.Geometry.Manifold.VectorBundle.Tangent

Tangent-bundle trivializations, coordinate changes on T(TM), and open submanifolds #

The canonical tangent-bundle trivialization at a point x is built from the chart at x, so on the fibre over x itself it is the identity. This file records that fact in both directions, and notes that reading a tangent vector through the preferred trivializations of two charts is the tangent coordinate change between them, which is C^n in the base point.

It then computes the coordinate changes of the tangent bundle of the tangent bundle: a tangent vector (u, w) to TM at a point with x-coordinates u, read in the tangent-bundle chart centred at the zero vector over xโ‚€, has base component the tangent coordinate change of u, and fibre component the product-rule sum of the derivative of that coordinate change in the base point and the coordinate change applied to w. This is the transformation law obeyed by a second-order vector field on TM, such as a geodesic spray, when it is carried between tangent-bundle charts.

It then identifies the tangent spaces of an open submanifold with those of its ambient manifold and shows that, near each point, the inverse tangent-bundle trivializations agree under that identification.

Finally it identifies the tangent space of a product manifold with the product of the tangent spaces of the factors, and shows that under this identification tangent coordinate changes and inverse tangent-bundle trivializations act componentwise.

Main results #

@[simp]
theorem TauCeti.Manifold.continuousLinearMapAt_trivializationAt_self {๐•œ : 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] [IsManifold I 1 M] (x : M) (v : TangentSpace I x) :

Read in the canonical trivialization at x, a tangent vector at x itself is its own coordinate vector: the trivialization is built from the chart at x, whose transition function with itself has derivative the identity.

@[simp]
theorem TauCeti.Manifold.symmL_trivializationAt_self {๐•œ : 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] [IsManifold I 1 M] (x : M) (v : E) :

The inverse form of TauCeti.Manifold.continuousLinearMapAt_trivializationAt_self: over its own base point, the inverse of the canonical trivialization is the identity.

theorem TauCeti.Manifold.inverse_mfderiv_extChartAt {๐•œ : 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] [IsManifold I 1 M] (xโ‚€ : M) {x : M} (hx : x โˆˆ (extChartAt I xโ‚€).source) :
(mfderiv% โ†‘(extChartAt I xโ‚€) x).inverse = Bundle.Trivialization.symmL ๐•œ (trivializationAt E (TangentSpace I) xโ‚€) x

The differential of the extended chart at xโ‚€, at a point x of its source, is inverted by the inverse of the canonical tangent-bundle trivialization at xโ‚€. This is the inverse form of TangentBundle.symmL_trivializationAt.

@[simp]
theorem TauCeti.Manifold.TangentBundle.coe_chartAt_snd {๐•œ : 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] [IsManifold I 1 M] {p q : TangentBundle I M} :
(โ†‘(chartAt (ModelProd H E) q) p).2 = (tangentCoordChange I p.proj q.proj p.proj) p.snd

The second component of the chart of a tangent bundle at q, read at a point with base point in the chart source. Together with TangentBundle.coe_chartAt_fst this describes the tangent-bundle charts completely.

theorem TauCeti.Manifold.contDiffOn_tangentCoordChange {๐•œ : 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] {n : WithTop โ„•โˆž} [IsManifold I (n + 1) M] (x y : M) :
ContDiffOn ๐•œ n (fun (a : E) => tangentCoordChange I x y (โ†‘(extChartAt I x).symm a)) ((extChartAt I x).symm.trans (extChartAt I y)).source

The tangent coordinate change between the charts at x and y is C^n on the overlap of the two chart sources, read in the chart at x. This is Mathlib's contDiffOn_fderiv_coord_change for the preferred charts at two points.

theorem TauCeti.Manifold.contMDiffAt_tangentCoordChange {๐•œ : 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] {n : WithTop โ„•โˆž} [IsManifold I (n + 1) M] {x y : M} (hy : x โˆˆ (extChartAt I y).source) :
ContMDiffAt I (modelWithCornersSelf ๐•œ (E โ†’L[๐•œ] E)) n (tangentCoordChange I x y) x

The tangent coordinate change between the charts at x and y is C^n at x, as a map of manifolds into the continuous linear endomorphisms of the model space.

Coordinate changes on the tangent of the tangent bundle #

theorem TauCeti.Manifold.tangentCoordChange_tangent_apply {๐•œ : 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] [IsManifold I 2 M] {x xโ‚€ : M} (hxโ‚€ : x โˆˆ (extChartAt I xโ‚€).source) (u : TangentSpace I x) (w : E) :
have v := (Bundle.Trivialization.continuousLinearMapAt ๐•œ (trivializationAt E (TangentSpace I) x) x) u; (tangentCoordChange I.tangent โŸจx, uโŸฉ โŸจxโ‚€, 0โŸฉ โŸจx, uโŸฉ) (v, w) = ((tangentCoordChange I x xโ‚€ x) v, ((d% fun (y : M) => (tangentCoordChange I x xโ‚€ y) v) x) u + (tangentCoordChange I x xโ‚€ x) w)

The tangent coordinate change on TM sends the tangent vector (v, w) at u โˆˆ Tโ‚“M to the derivative of the base coordinate change together with the product-rule expression for the fibre coordinate, where v is the coordinate of u in the preferred trivialization at x. The target chart is centred at the zero vector over xโ‚€.

theorem TauCeti.Manifold.continuousLinearMapAt_symmL_coordChange {๐•œ : 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] [IsManifold I 1 M] {x xโ‚€ y : M} (hyx : y โˆˆ (chartAt H x).source) (hyxโ‚€ : y โˆˆ (chartAt H xโ‚€).source) (u : E) :

The reading map of the preferred trivialization centred at xโ‚€ sends the tangent vector at y whose x-coordinates are u to its xโ‚€-coordinates.

theorem TauCeti.Manifold.tangentCoordChange_toMatrix {๐•œ : 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] [IsManifold I 1 M] {ฮน : Type u_5} [Fintype ฮน] [DecidableEq ฮน] (ฮฑ ฮฒ : M) (b : Module.Basis ฮน ๐•œ E) {x : M} (hฮฑ : x โˆˆ (trivializationAt E (TangentSpace I) ฮฑ).baseSet) (hฮฒ : x โˆˆ (trivializationAt E (TangentSpace I) ฮฒ).baseSet) :
(LinearMap.toMatrix b b) โ†‘(tangentCoordChange I ฮฑ ฮฒ x) = ((trivializationAt E (TangentSpace I) ฮฒ).basisAt b hฮฒ).toMatrix โ‡‘((trivializationAt E (TangentSpace I) ฮฑ).basisAt b hฮฑ)

The matrix of a tangent coordinate change in a finite basis of the model space is the change-of-basis matrix between the corresponding chart-local frames.

@[simp]
theorem TauCeti.Manifold.localFrame_trivializationAt_self {๐•œ : 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] [IsManifold I 1 M] {ฮน : Type u_5} (b : Module.Basis ฮน ๐•œ E) (x : M) (i : ฮน) :

Over its own base point, the local frame attached to the canonical trivialization at x is the given basis of the model space.

noncomputable def TauCeti.Manifold.tangentSpaceOpenEquiv {๐•œ : 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] {U : TopologicalSpace.Opens M} (x : โ†ฅU) :
TangentSpace I x โ‰ƒL[๐•œ] TangentSpace I โ†‘x

The canonical identification between the tangent space of an open submanifold and the ambient tangent space. Both are Mathlib's type synonym for the common model vector space.

This is deliberately a named equivalence rather than ContinuousLinearEquiv.refl ๐•œ E: because TangentSpace is not reducible, a statement phrased with refl is type-correct only after unfolding it, so rw and simp fail on such statements. Mathlib introduces NormedSpace.fromTangentSpace for the analogous identification for the same reason.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem TauCeti.Manifold.tangentSpaceOpenEquiv_apply {๐•œ : 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] {U : TopologicalSpace.Opens M} (x : โ†ฅU) (v : TangentSpace I x) :
    @[simp]
    theorem TauCeti.Manifold.tangentSpaceOpenEquiv_symm_apply {๐•œ : 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] {U : TopologicalSpace.Opens M} (x : โ†ฅU) (v : TangentSpace I โ†‘x) :
    @[simp]
    theorem TauCeti.Manifold.mfderiv_subtype_val {๐•œ : 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] {U : TopologicalSpace.Opens M} (x : โ†ฅU) :
    mfderiv% Subtype.val x = โ†‘(tangentSpaceOpenEquiv x)

    The differential of the inclusion of an open submanifold is the canonical tangent-space identification.

    @[simp]
    theorem TauCeti.Manifold.tangentMap_subtype_val {๐•œ : 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] {U : TopologicalSpace.Opens M} (p : TangentBundle I โ†ฅU) :
    tangentMap I I Subtype.val p = โŸจโ†‘p.proj, (tangentSpaceOpenEquiv p.proj) p.sndโŸฉ

    The tangent map of an open submanifold's inclusion identifies its tangent vectors with ambient tangent vectors through tangentSpaceOpenEquiv.

    theorem TauCeti.Manifold.tangentSpaceOpenEquiv_mfderiv_apply {๐•œ : 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] {E' : Type u_5} [NormedAddCommGroup E'] [NormedSpace ๐•œ E'] {H' : Type u_6} [TopologicalSpace H'] {I' : ModelWithCorners ๐•œ E' H'} {M' : Type u_7} [TopologicalSpace M'] [ChartedSpace H' M'] {U : TopologicalSpace.Opens M} {V : TopologicalSpace.Opens M'} {f : โ†ฅU โ†’ โ†ฅV} {A : M โ†’ M'} {x : โ†ฅU} (hf : MDiffAt f x) (hA : MDiffAt A โ†‘x) (hcomp : Subtype.val โˆ˜ f = A โˆ˜ Subtype.val) (v : TangentSpace I x) :
    (tangentSpaceOpenEquiv (f x)) ((mfderiv% f x) v) = (mfderiv% A โ†‘x) ((tangentSpaceOpenEquiv x) v)

    If a differentiable map f between open submanifolds is the restriction of a map A of the ambient manifolds, then under the canonical tangent-space identifications the differential of f at x is the differential of A at x.

    theorem TauCeti.Manifold.instT2SpaceTangentBundleModelSpace {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners ๐•œ E H} :

    The tangent bundle of a model space is Hausdorff.

    theorem TauCeti.Manifold.eventually_tangentSpaceOpenEquiv_symmL_trivializationAt_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] [IsManifold I 1 M] {U : TopologicalSpace.Opens M} (x : โ†ฅU) :
    โˆ€แถ  (y : โ†ฅU) in nhds x, โˆ€ (z : E), (tangentSpaceOpenEquiv y) ((Bundle.Trivialization.symmL ๐•œ (trivializationAt E (TangentSpace I) x) y) z) = (Bundle.Trivialization.symmL ๐•œ (trivializationAt E (TangentSpace I) โ†‘x) โ†‘y) z

    Near a point of an open submanifold, its inverse tangent-bundle trivialization agrees with the ambient inverse trivialization under the canonical tangent-space identification.

    noncomputable def TauCeti.Manifold.tangentSpaceProdEquiv {๐•œ : 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] {G : Type u_6} [TopologicalSpace G] {J : ModelWithCorners ๐•œ F G} {N : Type u_7} [TopologicalSpace N] [ChartedSpace G N] (p : M ร— N) :

    The canonical identification of the tangent space of a product manifold with the product of the tangent spaces of the factors. Both are Mathlib's type synonym for the product of the model vector spaces; as for tangentSpaceOpenEquiv, the identification is named so that statements using it are type-correct without unfolding TangentSpace.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem TauCeti.Manifold.tangentSpaceProdEquiv_apply {๐•œ : 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] {G : Type u_6} [TopologicalSpace G] {J : ModelWithCorners ๐•œ F G} {N : Type u_7} [TopologicalSpace N] [ChartedSpace G N] (p : M ร— N) (v : TangentSpace (I.prod J) p) :
      @[simp]
      theorem TauCeti.Manifold.tangentSpaceProdEquiv_symm_apply {๐•œ : 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] {G : Type u_6} [TopologicalSpace G] {J : ModelWithCorners ๐•œ F G} {N : Type u_7} [TopologicalSpace N] [ChartedSpace G N] (p : M ร— N) (v : TangentSpace I p.1 ร— TangentSpace J p.2) :
      theorem TauCeti.Manifold.tangentCoordChange_prod {๐•œ : 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] {G : Type u_6} [TopologicalSpace G] {J : ModelWithCorners ๐•œ F G} {N : Type u_7} [TopologicalSpace N] [ChartedSpace G N] [IsManifold I 1 M] [IsManifold J 1 N] {p q z : M ร— N} (hz : z โˆˆ (extChartAt (I.prod J) p).source โˆฉ (extChartAt (I.prod J) q).source) :
      tangentCoordChange (I.prod J) p q z = (tangentCoordChange I p.1 q.1 z.1).prodMap (tangentCoordChange J p.2 q.2 z.2)

      On the common domain of two product charts, the tangent coordinate change of a product manifold is the product of the tangent coordinate changes of the factors.

      theorem TauCeti.Manifold.tangentSpaceProdEquiv_symmL_trivializationAt {๐•œ : 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] {G : Type u_6} [TopologicalSpace G] {J : ModelWithCorners ๐•œ F G} {N : Type u_7} [TopologicalSpace N] [ChartedSpace G N] [IsManifold I 1 M] [IsManifold J 1 N] {p q : M ร— N} (hq : q โˆˆ (chartAt (ModelProd H G) p).source) (v : E ร— F) :

      Over the domain of the chart at p, the inverse of the canonical tangent-bundle trivialization of a product manifold at p is the product of the inverse trivializations of the factors.